js 时间戳转为日期格式

作者 : 开心源码 本文共3816个字,预计阅读时间需要10分钟 发布时间: 2022-05-11 共99人阅读

js需要把时间戳转为为普通格式,一般的情况下可可以使用不到的,但是我在做计时钟时php给的是 时间戳这样我们能方便计划时分秒。

下面先来看第一种吧

代码如下复制代码

结果是

2010年12月23日 10:53

第二种

代码如下复制代码

假如你想得到这样格式的怎样办呢?

2010-10-20 10:00:00

看下面代码吧

代码如下复制代码

也能这样写的

代码如下复制代码

function formatDate(now) {

var year=now.getYear();

var month=now.getMonth()+1;

var date=now.getDate();

var hour=now.getHours();

var minute=now.getMinutes();

var second=now.getSeconds();

return year+”-“+month+”-“+date+” “+hour+”:”+minute+”:”+second;

}

var d=new Date(1230999938);

alert(formatDate(d)); 好了问题处理

需要注意的是

不要把字符串中的Date(这样的字符也传进去,要先解决一下,这样很方便 就可以解决的

能用replace方法

如下:

代码如下复制代码replace(“/Date(“,””).replace(“)/”,””);

完整实例

代码如下复制代码/**

* 和PHP一样的时间戳格式化函数

* @param {string} format 格式

* @param {int} timestamp 要格式化的时间 默认为当前时间

* @return {string} 格式化的时间字符串

*/

function date(format, timestamp){

var a, jsdate=((timestamp) ? new Date(timestamp*1000) : new Date());

var pad = function(n, c){

if((n = n + “”).length < c){

return new Array(++c – n.length).join(“0”) + n;

} else {

return n;

}

};

var txt_weekdays = [“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”];

var txt_ordin = {1:”st”, 2:”nd”, 3:”rd”, 21:”st”, 22:”nd”, 23:”rd”, 31:”st”};

var txt_months = [“”, “January”, “February”, “March”, “April”, “May”, “June”, “July”, “August”, “September”, “October”, “November”, “December”];

var f = {

// Day

d: function(){return pad(f.j(), 2)},

D: function(){return 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.getFullYear() + “/1/1”)) / 864e5 >> 0},

// Week

W: function(){

var a = f.z(), b = 364 + f.L() – a;

var nd2, nd = (new Date(jsdate.getFullYear() + “/1/1”).getDay() || 7) – 1;

if(b <= 2 &amp;&amp; ((jsdate.getDay() || 7) – 1) <= 2 – b){

return 1;

} else{

if(a = 4 &amp;&amp; a >= (6 – nd)){

nd2 = new Date(jsdate.getFullYear() – 1 + “/12/31”);

return date(“W”, Math.round(nd2.getTime()/1000));

} else{

return (1 + (nd > 0);

}

}

},

// Month

F: function(){return txt_months[f.n()]},

m: function(){return pad(f.n(), 2)},

M: function(){return f.F().substr(0,3)},

n: function(){return jsdate.getMonth() + 1},

t: function(){

var n;

if( (n = jsdate.getMonth() + 1) == 2 ){

return 28 + f.L();

} else{

if( n &amp; 1 &amp;&amp; n 7 ){

return 31;

} else{

return 30;

}

}

},

// Year

L: function(){var y = f.Y();return (!(y &amp; 3) &amp;&amp; (y % 1e2 || !(y % 4e2))) ? 1 : 0},

//o not supported yet

Y: function(){return jsdate.getFullYear()},

y: function(){return (jsdate.getFullYear() + “”).slice(2)},

// Time

a: function(){return jsdate.getHours() > 11 ? “pm” : “am”},

A: function(){return f.a().toUpperCase()},

B: function(){

// peter paul koch:

var off = (jsdate.getTimezoneOffset() + 60)*60;

var theSeconds = (jsdate.getHours() * 3600) + (jsdate.getMinutes() * 60) + jsdate.getSeconds() + off;

var beat = Math.floor(theSeconds/86.4);

if (beat > 1000) beat -= 1000;

if (beat < 0) beat += 1000;

if ((String(beat)).length == 1) beat = “00”+beat;

if ((String(beat)).length == 2) beat = “0”+beat;

return beat;

},

g: function(){return jsdate.getHours() % 12 || 12},

G: function(){return jsdate.getHours()},

h: function(){return pad(f.g(), 2)},

H: function(){return pad(jsdate.getHours(), 2)},

i: function(){return pad(jsdate.getMinutes(), 2)},

s: function(){return pad(jsdate.getSeconds(), 2)},

//u not supported yet

// Timezone

//e not supported yet

//I not supported yet

O: function(){

var t = pad(Math.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 not supported yet

//Z not supported yet

// Full Date/Time

c: function(){return f.Y() + “-” + f.m() + “-” + f.d() + “T” + f.h() + “:” + f.i() + “:” + f.s() + f.P()},

//r not supported yet

U: function(){return Math.round(jsdate.getTime()/1000)}

};

return format.replace(/[\]?([a-zA-Z])/g, function(t, s){

if( t!=s ){

// escaped

ret = s;

} else if( f[s] ){

// a date function exists

ret = f[s]();

} else{

// nothing special

ret = s;

}

return ret;

});

}

调使用方法 可以够很方便的将时间戳转换成日期的格式,如:

代码如下复制代码date('Y-m-d','1350052653');//很方便的将时间戳转换成了2012-10-11

date('Y-m-d H:i:s','1350052653');//得到的结果是2012-10-12 22:37:33

js 时间戳转为日期格式

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » js 时间戳转为日期格式

发表回复