js 时间戳转为日期格式

  • 时间:2018-07-09 22:25 作者:程序员小新人学习 来源:程序员小新人学习 阅读:314
  • 扫一扫,手机访问
摘要:js需要把时间戳转为为普通格式,一般的情况下可可以使用不到的,但是我在做计时钟时php给的是 时间戳这样我们能方便计划时分秒。下面先来看第一种吧 代码如下复制代码 结果是2010年12月23日 10:53第二种 代码如下复制代码 假如你想得到这样格式的怎样办呢?2010-10-20 10:00:00

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 <= 2 &amp;&amp; nd >= 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 <= 3 ? ((a + nd) / 7) : (a - (7 - nd)) / 7) >> 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 < 8 || !(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 时间戳转为日期格式

  • 全部评论(0)
最新发布的资讯信息
【系统环境|windows】字节跳动前台面试题解析:盛最多水的容器(2021-03-20 21:27)
【系统环境|windows】DevOps敏捷60问,肯定有你想理解的问题(2021-03-20 21:27)
【系统环境|windows】字节跳动最爱考的前台面试题:JavaScript 基础(2021-03-20 21:27)
【系统环境|windows】JavaScript 的 switch 条件语句(2021-03-20 21:27)
【系统环境|windows】解决 XML 数据应用实践(2021-03-20 21:26)
【系统环境|windows】20个编写现代CSS代码的建议(2021-03-20 21:26)
【系统环境|windows】《vue 3.0探险记》- 运行报错:Error:To install them, you can run: npm install --save core-js/modules/es.arra...(2021-03-20 21:24)
【系统环境|windows】浅谈前台可视化编辑器的实现(2021-03-20 21:24)
【系统环境|windows】产品经理入门迁移学习指南(2021-03-20 21:23)
【系统环境|windows】初识webRTC(2021-03-20 21:23)
血鸟云
手机二维码手机访问领取大礼包
返回顶部