Unix时间戳(Unix timestamp)
Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广泛采用.
因业务需求,需要与银行进行接口对接。因为的银行接口中是有校验时间且时间格式要求为Unix timestamp,所以就使用C#进行了相关的转换。
public static class DateTimeExtension
{
/// <summary>
/// DateTime转换成Unix timestamp
/// </summa...
6年前 (2018-08-16) 444℃ 0评论
0喜欢
朋友最近有一个需求,希望别人可以通过自己网站主动申请友情链接,但是申请被提交前必须进行检测,申请方的网站中必须先添加自己网站的链接。除此之外还需要使用PHP来进行实现,所以就有了这篇文字记录。
主要的PHP代码实现如下:
<?php
$max_allow_links = 100; // 最大许可检查的链接数目
function my_file_get_contents($url, $timeout = 30) {
if (function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_s...
6年前 (2018-07-23) 1363℃ 0评论
5喜欢
Email地址包括两个部分:用户名和邮件服务器。因此,检验邮件地址可以分为两步进行:首先检验邮件服务器,然后检验用户名。如 sky@qq.com,首先检验qq.com服务器是否是有效的邮件服务器,如果是再在该服务器上确认是否存在sky用户。当然这检测种方式也并不是百分之百有效,有些服务器不允许检测、有些服务器返回的是错误的信息,这些时候检测结果都是不正确的。
通过查询DNS服务器,获取域名的MX(Mail Exchanger)记录,可以确定某一域名对应的邮件服务器是否有效。在Windows系统中,可以使用nslookup程序来查看这一记录。
public class EmailCheckHelper
{
TcpClient tcpc;
NetworkStream s;
string strDomain;
byte[] bb;
in...
7年前 (2017-07-04) 1641℃ 0评论
0喜欢
永久开始/关闭防火墙
开启
chkconfig iptables on
关闭
chkconfig iptables off
临时关闭/开启
开启
service iptables start
关闭
service iptables stop
以上设置内容,重启后生效!
转载请注明:清风亦平凡 » Linux CentOS关闭防火墙...
7年前 (2017-05-05) 241℃ 0评论
0喜欢
通知书上的号码组成规则如下:
名称
长度
例子
备注
区域码
2
01
区域编码
通知书类型
1
1
5 单位系统开具缴款通知书
年份码
2
05
两位年份码。开出通知书的年份。
序列号
8
00000001
自动递增的序列号。每一个单位(以用户所在实际单位为准,不限于顶级单位)都拥有一组独立的自增长序列号。
特征码
1
0
0 党政网非税系统
1 互联网非税系统
校验位
2
01
参考后面的计算法则
一个完整的通知书号码样例如下:
0111000000156006
校验位的计算法则如下:
A = ∑(ai×Wi)(mod 11)
A
0
1
2
3
4
5
6
7
8
9
10
校验位
01
00
10
09
08
07
06
05
04
03
02
其中:
i —-表示号码字符从右至左不包括校验码在内的位置序...
7年前 (2017-03-07) 2182℃ 0评论
20喜欢
在面向对象程序中,我们经常看到一种模式就是简单工厂模式(Simple Factory Pattern)。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个共同的父类和共同的方法,但每个方法执行的任务不同,而且根据不同的数据进行了优化。简单工厂模式实际上不属于23个GoF模式,但它可以作为学习工厂方法做铺垫。
一、UML类图,简单工厂基本类图
二、代码演示
/// <summary>
/// 产品抽象类
/// </summary>
public abstract class Product
{
public abstract void CreateProduct();
}
/// <summary>
/// 具体产品A
/// <...
7年前 (2017-02-02) 835℃ 0评论
0喜欢
批处理实现对Windows系统远程连接端口号的修改,以下代码另存为*.bat即可。
@echo off
title 远程连接端口修改
color 0a
echo 输入端口请注意:
echo 1.不要是用常用端口,例如:21、23、80、139、137、1433等端口。常用端口可能被占用
echo 2.你所修改的端口请大于0且小于65535:
echo 3.修改完成后,请把你修改的端口对外开放。例如:在防火墙中放开写权限,以免出现修改成功防火墙不允许通信的情况。:
set /p c= 请输入新的端口:
if “%c%”==”” goto end
goto edit
:edit
reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wd...
7年前 (2017-01-07) 938℃ 0评论
1喜欢
private string getExcelSheetFirstNameFor(string path)
{
string firstName = "";
Excel.Application objExcelApp = new Application();
objExcelApp.Visible = false;
objExcelApp.DisplayAlerts = false;
Workbooks objWorkbooks = objExcelApp.Workbooks;
_Workbook objWorkbook = null;
_Worksheet objWorksheet = null;
object objMissing = System.Reflection.Missing.Value;
try
{
objWork...
7年前 (2017-01-06) 1086℃ 0评论
1喜欢
友情提示以下所诉的音频合并仅仅针对mp3,其他类型音频文件可能存在差异,敬请注意。
公司项目存在多媒体叫号功能,此功能在XP系统上读的速度是可以的,但是在Window7以及以上版本系统读的速度非常慢(不连贯,难以接受)。现在实现方式根据信息拼接了不同的MP3文件,然后进行顺序读取。但是很奇怪为什么在更高版本系统中使用会变的异常的慢,让人难以接受。为了解决这个问题想到了2个方案:
使用flash音乐播放器进行列表播放,但是很多的网页播放器不具备与JavaScript交互的功能,甚至没有列表播放功能。(没有发现其他好用的播放器)对多个MP3文件进行合并后进行播放
经过测试否决了第一种方式,因为压根没有找到一款适合的网页播放器,重新写太费时间了。第二种方式可以解决问题。所以就使用了这个简单的方法来修改现有叫号功能在高版本系统播放缓慢的问题。基本代码如下:
using Sy...
7年前 (2016-12-15) 3471℃ 6评论
13喜欢
因朋友需要搭建一个商城做演示用,所以选择了用PHP写的ECShop。他为了减少改动就是用了模板堂的模板。但是首页轮播广告在不足7个的时候总是会有后续的空白,初步猜想是代码中固定了轮播广告数量。经过问题的查找很快确定了自己的猜想,就随手把它给改掉了。
找到模板文件下的文件(library\index_ad.lbi)并打开。找到如下代码:
window.onload = function() {
function Each(list, fun) {
for (var i = 0,
len = list.length; i < len; i++) {
fun(list[i], i);
}
};
var objs = $("idNum").getElementsByTagNam...
7年前 (2016-12-10) 1222℃ 0评论
2喜欢
$.fn.outerHTML = function() {
return (!this.length) ? this: (this[0].outerHTML || (function(el) {
var div = document.createElement('div');
div.appendChild(el.cloneNode(true));
var contents = div.innerHTML;
div = null;
return contents;
})(this[0]));
}
转载请注明:清风亦平凡 » Jquery插件实现outerHTML
...
8年前 (2016-11-09) 706℃ 0评论
0喜欢
使用INT做主键的优点:
需要很小的数据存储空间,仅仅需要4 byte 。insert和update操作时使用INT的性能比GUID好,所以使用int将会提高应用程序的性能。 index和Join 操作,int的性能最好。 容易记忆。 支持通过函数获取最新的值
使用INT做主键的缺点
如果经常有合并表的操作,就可能会出现主键重复的情况。 使用INT数据范围有限制。如果存在大量的数据,可能会超出INT的取值范围。 很难处理分布式存储的数据表。
使用GUID做主键的优点:
它是独一无二的。 出现重复的机会少。 适合大量数据中的插入和更新操作。 跨服务器数据合并非常方便。
使用GUID做主键的缺点:
存储空间大(16 byte),因此它将会占用更多的磁盘大小。很难记忆。join操作性能比int要低...
8年前 (2016-09-23) 500℃ 0评论
0喜欢
一、为什么要用require.js?
最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。
<script src="1.js"></script>
<script src="2.js"></script>
<script src="3.js"></script>
<script src="4.js"></script>
<script src="5.js"></script>
<script src="6.js"></script>
这段代码依次加载多个js文件。
这样的写法有很大的缺点。首先,加载...
8年前 (2016-08-22) 882℃ 0评论
0喜欢
使用Zxing.net进行一维条码识别,如果自动识别解码对Code39条码解码的情况下可能会出现解码错误的情况(这里的错误是指解码后的数据和原来进行编码的数据不一致,进行编码的数据均为Code39的合法字符)。原因:自动解码会尝试目前所有支持类型的解码,包括Code39Extended模式。Code39和Code39Extended 是相同的方法处理,在进行Code39解码后会判断是否使用了Code39Extended模式,使用了扩展的话就会再次对返回的结果进行Code39Extended解码。文件所在位置:lib\oned\Code39Reader.cs 代码如下:
/*
* Copyright 2008 ZXing authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
...
8年前 (2016-08-19) 1127℃ 0评论
0喜欢
在谷歌百度以图搜索中, 用户可以上传一张图片, 谷歌百度显示因特网中与此图片相同或者相似的图片.
第一步:将图片缩小到8×8的尺寸,总共64个像素。这一步的作用是去除图片的细节, 只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。
第二步:将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。
第三步:计算所有64个像素的灰度平均值。
第四步:将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。
第五步:将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序。
第六步:计算”汉明距离”(Hamming distance),如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。
usi...
8年前 (2016-08-18) 1192℃ 0评论
2喜欢
在iframe与父窗口或者与子窗口传递数据是一个麻烦的事情,如果我们能够写一个一劳永逸的接口那就再方便不过了,下面就来简答介绍一下如何实现此功能。原理就是将数据缓存早window.top这个窗口,这样无论子窗口父窗口的层次如何变化,数据总是存在不会变化的。
var dataShare = {
setData: function(name, value) {
var top = window.top,
cache = top['_CACHE'] || {};
top['_CACHE'] = cache;
return value ? cache[name] = value: cache[name];
},
removeData: function(name) {
var...
8年前 (2016-08-17) 921℃ 0评论
0喜欢
项目中有短信发送模块,由于SP提供的SDK升级。在项目中需要新增SDK的版本。新版本新增的同时要更新旧版本的Dll引用方式,旧版本之前通过DllImport引用使用绝对路径。地址更换后,在操作短信发送的时候就会报“无法加载DLL’*.dll’,找不到指定的模块”。(相关的DLL已经放到Bin目录下)。
当使用绝对路径或者把相关DLL拷贝到系统目录(C:\WINDOWS\system32)后,此类错误不再出现。虽说问题得以解决,但无论是绝对路径还是把相关DLL放到系统目录,这都不是很好的解决办法。很多服务器是不允许在非网站应用程序下新建文件的。而在网上基本都是三种解决方案,如下:
1、将相关的DLL拷贝到Bin目录下
2、将相关的DLL放到系统目录(C:\WINDOWS\system32)
3、使用绝对路径,例如:E:\dll\xxxx.dll
以上三种解决方案在不同...
8年前 (2016-08-16) 1375℃ 0评论
3喜欢
这个之前(很久之前了吧)使用webform的时候使用的验证码,实现的方式也很简单。
using System;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Text;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace WebUI.yzm
{
public partial class yzm : System.Web.UI....
8年前 (2016-08-01) 578℃ 0评论
0喜欢
在某些情况下对文本文件进行读取会出现乱码,这种情况是因为指定的文本文件的编码类型不是系统默认的编码类型或者不是读取时指定的编码类型。解决这种出现乱码的情况可以先获取指定文本文件的编码类型,然后在进行内容的读取。这样尽可能的避免读取文本文件时出现乱码的机率。代码如下:
/// <summary>
/// 获取指定文件的编码
/// 以防止在不知道文件编码格式的情况下处理文件而造成的乱码问题
/// </summary>
/// <param name="filename">文件路径</param>
/// <returns></returns>
public System.Text.Encoding GetFileEncodeType(string filename)
{
if (!File.Ex...
8年前 (2016-07-19) 1480℃ 0评论
4喜欢
简介
Code39是条形码的一种。由于编制简单、能够对任意长度的数据进行编码、支持设备广泛等特性而被广泛采用。
能够对任意长度的数据进行编码。其局限在于印刷品的长度和条码阅读器的识别范围。 支持设备广泛。目前几乎所有的条形码阅读设备都能阅读Code39码,打印机也是同样情况。 编制简单。简单的开发技术就能快速生成相应的编码图像。 一般Code39码由5条线和分开它们的4条缝隙共9个元素构成。线和缝隙有宽窄之分,而且无论线还是缝隙仅有3个比其他的元素要宽一定比例。39码因此得名
Code39条形码规则
1、 每五条线表示一个字符;
2、 粗线表示1,细线表示0;
3、 线条间的间隙宽的表示1,窄的表示0;
4、 五条线加上它们之间的四条间隙就是九位二进制编码,而且这九位中必定有三位是1,所以称为39码;
5、 条...
8年前 (2016-07-15) 764℃ 0评论
2喜欢
首先在Word文档中,插入一个新的书签,并命名(假设建了一个名为”BOOKMARKNAME”的书签),然后使用C#操作Word:
using MSWord = Microsoft.Office.Interop.Word;
//引用命名空间
private MSWord.Application wordApp;
//Word应用程序变量
private MSWord.Document wordDoc;
//Word文档变量
private Object Nothing = Missing.Value;
//初始化
wordApp = new MSWord.ApplicationClass();
wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref ...
8年前 (2016-07-14) 2014℃ 0评论
2喜欢
在某些情况下,需要获得用户的DPI。以下方法是用JavaScript实现获取用户的DPI。
function getDPI() {
var arrDPI = new Array;
var devicePixelRatio = window.devicePixelRatio || 1;
var tmpNode = document.createElement("DIV");
tmpNode.style.cssText = "height: 1in; left: -100%; position: absolute; top: -100%; width: 1in;";
document.body.appendChild(tmpNode);
arrDPI[0] = parseInt(tmpNode.o...
8年前 (2016-07-02) 1683℃ 0评论
3喜欢
此方法为招商银行网上银行对金额进行大写的转换方法。
function ConvertUpperMoney(whole) {
//金额转换。输入数字字符串,低至分位,高位不为零
var GBK_unit1 = "分角";
var GBK_unit2 = "圆拾佰仟";
var GBK_unit3 = "万拾佰仟"
var GBK_unit4 = "亿拾佰仟";
var GBK_num = "零壹贰叁肆伍陆柒捌玖";
var section1 = "";
if (whole.length - 2 >= 0) section1 = whole.substr(whole.length - 2, 2);
else section1 = whole.substr(0, whole.length);
...
8年前 (2016-07-02) 611℃ 0评论
0喜欢
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">function shake(id) {
var style = document.getElementById(id).style,
p = [4, 8, 4, 0, -4, -8, -4, 0],
fx = function() {
style.marginLeft = p.shift() + 'px';
if (p.length <= 0) {
style.marginLeft = 0;
...
8年前 (2016-07-02) 787℃ 0评论
1喜欢
var TpLinkPassWordEnCode = {
_strDe: "RDpbLfCPsJZ7fiv",
_dic: "yLwVl0zKqws7LgKPRQ84Mdt708T1qQ3Ha7xv3H7NyU84p21BriUWBU43odz3iP4rBL3cD02KZciX" +
"TysVXiV8ngg6vL48rPJyAUw0HurW20xqxv9aYb4M9wK1Ae0wlro510qXeU07kV57fQMc8L6aLgML" +
"wygtc0F10a0Dg70TOoouyFhdysuRMO51yY5ZlOZZLEal1h0t9YQW0Ko7oBwmCAHoic4HYbUyVeU3" +
"sfQ1xtXcPcf1aT303wAQhv66qzW",
securityEncode: func...
8年前 (2016-07-01) 1462℃ 0评论
5喜欢