本文主要介绍将js时间戳转换成日期格式的方法。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
什么是Unix timestamp): Unix timestamp,或Unix time,POSIX time,是一种时间表示法,定义为从1970年1月01日00: 00: 00 GMT到现在的总秒数。Unix时间戳不仅用于Unix系统和类Unix系统,还广泛用于许多其他操作系统。
目前,相当多的操作系统使用32位二进制数字来表示时间。这类系统的Unix时间戳可以使用到2038年1月19日格林尼治时间03: 14: 07(二进制:0111111111111111111111111111111111111111111111111111)。一秒钟后,二进制数将变为1000000000000000000000000000000000,并出现溢出错误,导致系统将时间误认为1901年12月13日20: 45: 52。这很可能导致软件故障甚至系统瘫痪。用64位二进制数字表示时间的系统(截止格林威治时间292,277,026,596年12月04日15: 30: 08)基本不会遇到这种溢出问题。
一.js将时间转换成时间戳
1.js获取当前时间戳的方法
var timestamp 1=Date . parse(new Date());
var timestamp2=(新日期())。value of();
var timestamp3=新日期()。getTime();
第一个:获取的时间戳通过将毫秒更改为000来显示,第二个和第三个是获取当前毫秒的时间戳。
2.js获取制定时间戳的方法
var oldTime=(新日期(' 2015/06/23 08:00:20 '))。getTime()/1000;
GetTime()返回以毫秒为单位的数值。
二.js把时间戳转为为普通日期格式
1.Date toLocaleString方法
函数getLocalTime(nS) {
返回新日期(parseInt(nS) * 1000)。toLocaleString()。replace(/:\d{1,2}$/,' ');
}
ParseInt()函数可以解析一个字符串并返回一个整数。
js中操作的时间单位是毫秒。
toLocaleString()方法可以根据本地时间将Date对象转换为字符串并返回结果。
replace()方法用于将字符串中的某些字符替换为其他字符,或者替换与正则表达式匹配的子字符串。
Replace(/:\d{1,2}$/,'')验证替换为:以一位数或两位数开头的结束字符串为第二个;替换为空。
显示如下:
所以我们可以用正则表达式来改变我们想要的日期格式。
2.Date 属性方法
函数add0(m){return m10?0' m:m }
函数格式(十件套)
{
//shijianchuo是整数,否则用parseInt转换。
var time=new Date(时间跨度);
var y=time . get full year();
var m=time . getmonth()1;
var d=time . getdate();
var h=time . get hours();
var mm=time . get minutes();
var s=time . get seconds();
return y '-' add 0(m)'-' add 0(d)' ' add 0(h)':' add 0(mm)':' add 0(s);
}
三.封装的时间格式器
/**
*与PHP相同的时间戳格式化功能
* @param {string} format格式
* @param {int} timestamp默认情况下,要格式化的时间是当前时间。
* @return {string}格式的时间字符串
*/
功能日期(格式、时间戳){
var a,jsdate=((时间戳)?新日期(时间戳*1000):新日期());
var pad=function(n,c){
if((n=n ' ')。长度c){
返回新数组。join(“0”)n;
}否则{
返回n;
}
};
var txt_weekdays=['星期日','星期一','星期二','星期三','星期四','星期五','星期六'];
var txt_ordin={1:'st ',2:'nd ',3:'rd ',21:'st ',22:'nd ',23:'rd ',31:' ST ' };
var txt_months=[' ','一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'];
var f={
//天
d: function(){return pad(f.j(),2)},
d:函数(){返回f.l()。substr(0,3)},
j:function(){ return jsdate . getdate()},
l:function(){ return txt _ weekdays[f . w()]},
N: function(){return f.w() 1}
s:function(){ return txt _ ordin[f . j()]?txt_ordin[f.j()] : 'th'},
w:function(){ return jsdate . getday()},
z:function(){ return(jsdate-new Date(jsdate . get full year()'/1/1 ')/864 E5 0 },
//周
w:函数(){
var a=f.z(),b=364 f . L()-a;
var nd2,nd=(新日期(jsdate。获取整年()'/1/1 ').getDay()| | 7)-1;
if(b=2((jsdate。getday()| | 7)-1)=2-b){
返回1;
}否则{
if(a=2 nd=4 a=(6 nd)){
nd2=新日期(jsdate。get full year()-1 '/12/31 ');
返回日期(‘W’,数学。圆形(nd2。gettime()/1000));
}否则{
return (1 (nd=3?((a nd)/7):(a-(7-nd))/7)0);
}
}
},
//月份
f:function(){ return txt _ months[f . n()]},
m: function(){return pad(f.n(),2)},
函数(){返回f.F().substr(0,3)},
n:function(){ return jsdate。getmonth()1 },
t:函数(){
var n;
if( (n=jsdate.getMonth() 1)==2 ){
return 28 f . L();
}否则{
if( n 1 n 8 ||!(n 1) n 7 ){
返回31;
}否则{
返回30;
}
}
},
//年份
l:function(){ var Y=f . Y();返回(!(y 3) (y % 1e2 ||!(y % 4e2)))?1 : 0},
//o尚不支持
y:function(){ return jsdate。获取整年()},
y:function(){ return(jsdate。获取整年()“”).切片(2)},
//时间
a:function(){ return jsdate。获取小时数()11?pm' : 'am'},
函数(){返回f.a().toUpperCase()},
乙:函数(){
//彼得保罗科赫:
var off=(jsdate。gettimezoneoffset()60)* 60;
var theSeconds=(jsdate。get hours()* 3600)(jsdate。get minutes()* 60)jsdate。获得秒()关闭;
var beat=数学。楼层(秒/86.4);
if(beat 1000)beat-=1000;
if(beat 0)beat=1000;
如果(弦(拍))。长度==1)节拍='00 '节拍;
如果(弦(拍))。长度==2)节拍='0 '节拍;
返回节拍;
},
g:function(){ return jsdate。get hours()% 12 | | 12 },
g:function(){ return jsdate。get hours()},
h: function(){return pad(f.g(),2)},
h:function(){ return pad(jsdate。get hours(),2)},
I:function(){ return pad(jsdate。get minutes(),2)},
s:function(){ return pad(jsdate。get seconds(),2)},
//u尚不支持
//时区
//e尚不支持
//我还不支持
o:函数(){
var t=pad(数学。ABS(jsdate。gettimezoneoffset()/60 * 100),4);
if(jsdate。gettimezoneoffset()0)t='-' t;else t=t
return t;
},
p:function(){ var O=f . O();return (O.substr(0,3) ':' O.substr(3,2))},
//T尚不支持
//Z尚不支持
//完整的日期/时间
c:function(){ return f . Y()'--' f . m()'-' f . d()' T ' f . h()':' f . I()':' f . s()f . P()},
//r尚不支持
u:function(){返回数学。round(jsdate。gettime()/1000)}
};
return format.replace(/[\]?([a-zA-Z])/g,function(t,s){
如果(t!=s ){
//转义
ret=s;
} else if( f[s] ){
//日期函数存在
ret=f[s]();
}否则{
//没什么特别的
ret=s;
}
返回浸水使柔软
});
}
调用方法能够很方便的将时间戳转换成日期的格式,如:
日期(' Y-m-d ',' 1350052653 ');//很方便的将时间戳转换成了2012-10-11
日期(' Y-m-d H:i:s ',' 1350052653 ');//得到的结果是2012-10-12 22:37:33
以上就是射流研究…时间戳转为日期格式的方法,希望对大家的学习有所帮助。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。