javascript日期时间和时间戳的传递函数共享
如果我们只是把当前的时间为一个时间戳,我们可以使用新的日期()GetTime() / 1000直接,但是如果要把一个特定的时间或日期为Unix时间戳,IE不支持这种方法等新的日期(2013-1-1),它将返回NaN。为此,我写了以下功能支持IE6 +、谷歌、火狐等浏览器。
复制代码代码如下所示:
作用时间(天){
re(({ { 4 }))(-(- { })(……(-(-(()))();
返回日期(重新{ 1 },(再{ 2 } | | 1)- 1,再{ 3 } | | 1,重新{ 4 } | | 0,重新{ 5 } | | 0,重新{ 6 } | | 0)。GetTime() / 1000;
}
测试
警报(时间(2013-02-03 10:10:10 ));
警报(时间(2013-02-03 ));
警报(时间(2013-02 ));
警报(时间(2013));
将时间戳转换为日期格式的以下功能支持自定义日期格式,它类似于PHP的日期函数。它还支持浏览器如IE6 +,谷歌,火狐等。这个功能是实现用户,我写了一^ _ ^时间后
复制代码代码如下所示:
函数日期(格式,时间戳){
求一个jsdate =((时间戳)新日期(时间* 1000):新的日期());
函数(n,c){
如果((n = n ))长度为C){
返回新数组(+ + C n.length)。加入(0)+ N;
{人}
返回N;
}
};
无功txt_weekdays = {星期日
无功txt_ordin = { 1:ST
无功txt_months = {},一月
var
/天
D:函数(){ return垫(F.J()(),2)},
D:函数(){返回F L()。Substr(0,3)},
J:函数(){ return jsdate.getdate()},
我:(功能){ return(txt_weekdays {被} }),
函数(){返回w()+ 1 },
S:函数(){ return txt_ordin { f.j()} txt_ordin { f.j()}:'th},
W:函数(){ return jsdate.getday()},
Z:函数(){ return(jsdate -新的日期(jsdate.getfullyear()+/ 1 / 1))/ 864e5 > 0 },
/周
w:函数(){
创建一个f.z(),b = 364 + F L()-;
VaR ND2(新,ND =日期(jsdate。返回完整年份)+( / 1 / 1),GetDay(7)| |)- 1;
如果(b<=2((jsdate。getday)| |(7)- 1)- 2 <= b){
返回1;
别的{ }
如果(= 4 = a(6 - ND)){
ND2 =新的日期(jsdate.getfullyear()- 1 + / 12 / 31);
返回日期(w
别的{ }
返回(1 +(ND 0));
}
}
},
月份
F:(功能){ return(txt_months { F.N)} },
M:函数(){ return垫(F.N()(),2)},
M:(){ return函数F()。Substr(0,3)},
N:函数(){ return jsdate.getmonth()+ 1 },
t:函数(){
var n;
如果((n)= jsdate.getmonth(+ 1)= = 2){
返回28 + L L();
别的{ }
如果(n 1 n 7){
返回31;
别的{ }
返回30;
}
}
},
年/年
L:函数({值)= y(y);返回(!(3)(% | | 1E2!(%)1)4E2):0 },
尚未支持
Y:函数(){ return jsdate.getfullyear()},
Y:函数(){ return(jsdate.getfullyear()+),切片(2)},
时间
答:函数(){ return jsdate.gethours()> 11点:我},
答:(){ return函数f()ToUpperCase()},
B:函数(){
Paul koch:/彼得
VaR时(jsdate.gettimezoneoffset()+ 60)* 60;
VaR(jsdate.gethours theseconds =()×3600)+(jsdate.getminutes()×60)+()+了jsdate.getseconds;
VaR打= math.floor(theseconds / 86.4);
如果(节拍> 1000)拍= 1000;
如果(击败< 0)击败= 1000;
如果((字符串(节拍))长度= 1)节拍= 00 +节拍;
如果((字符串(节拍))长度= 2)节拍= 0 +节拍;
回打;
},
G:功能({ return)jsdate.gethours(12 })| | % 12,
G:函数(){ return jsdate.gethours()},
H:函数(){ return垫(F.G()(),2)},
H:函数(){ return垫(jsdate.gethours()(),2)},
我:(){ return垫功能(jsdate.getminutes()(),2)},
S:函数(){返回垫(jsdate.getseconds()(),2)},
尚未支持
/ /时区
尚未支持
我还不支持
o:函数(){
var t =垫(Math.abs(jsdate.gettimezoneoffset()()/ 60 * 100),4);
如果(jsdate.gettimezoneoffset()> 0)T = T;其他T =++ T;
返回T;
},
P:函数(){ var o = F。O();返回(o.substr(0, 3)+:+ o.substr(3, 2)})},
尚未支持
尚未支持
完全 /日期/时间
C:功能(){ return f y()+-+ F. M()+-+ F. D()+T+ F H()+:+ for instance例如()+:+ F S()+ F P()},
尚未支持
你:(){ return math.round功能(jsdate.gettime() / 1000)}
};
返回format.replace( / { }({ a-za-z })/ g(t,s){函数
如果(t!=){
RET=s;
} else if(F { }){
日期函数存在
(=);
别的{ }
没有什么/特殊的
RET=s;
}
返回页首;
});
}
测试
警报(日期('y-m-d H:我:',((新日期)。GetTime() / 1000)));
警报(日期('y-m-d ',((新日期)。GetTime() / 1000));
警报(日期('y-m-d H:我:','1355252653 '));