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 '));