JavaScript时间戳与时间日期间相互转换

今天在工作中要将获取到的时间转换为时间戳,一时间竟不知道怎么用,于是不得不去查询资料,这里特地做个笔记。

  1、将日期转换为时间戳。

  要将日期转换为时间戳,首先得先获取到日期,这里可以直接指定日期,或者是使用当前日期。要获取当前日期,我们可以使用new Date()来获取。直接上代码。

// (1)、将当前日期转换为时间戳。

var now = new Date();

console.log(now.getTime()) // 将当前日期转换为时间戳,getTime()方法可返回距1970年1月1日之间的毫秒数。

// (2)、将指定日期转换为时间戳。

var t = "2017-12-08 20:5:30"; // 月、日、时、分、秒如果不满两位数可不带0.

var T = new Date(t); // 将指定日期转换为标准日期格式。Fri Dec 08 2017 20:05:30 GMT+0800 (中国标准时间)

console.log(T.getTime()) // 将转换后的标准日期转换为时间戳。

  2、将时间戳转换为日期。

var t = 787986456465; // 当参数为数字的时候,那么这个参数就是时间戳,被视为毫秒,创建一个距离1970年1月一日指定毫秒的时间日期对象。

console.log(new Date(t)) // Wed Dec 21 1994 13:07:36 GMT+0800 (中国标准时间)

var t2 = "2017-5-8 12:50:30";

console.log(new Date(t2)) // Mon May 08 2017 12:50:30 GMT+0800 (中国标准时间)

var t3 = "2017-10-1";

console.log(new Date(t3)) // Sun Oct 01 2017 00:00:00 GMT+0800 (中国标准时间) 不设定时分秒,则默认转换为00:00:00

PS:下面看下javascript时间戳和日期字符串相互转换

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript">

// 获取当前时间戳(以s为单位)

var timestamp = Date.parse(new Date());

timestamp = timestamp / 1000;

//当前时间戳为:1403149534

console.log("当前时间戳为:" + timestamp);

// 获取某个时间格式的时间戳

var stringTime = "2014-07-10 10:21:12";

var timestamp2 = Date.parse(new Date(stringTime));

timestamp2 = timestamp2 / 1000;

//2014-07-10 10:21:12的时间戳为:1404958872

console.log(stringTime + "的时间戳为:" + timestamp2);

// 将当前时间换成时间格式字符串

var timestamp3 = 1403058804;

var newDate = new Date();

newDate.setTime(timestamp3 * 1000);

// Wed Jun 18 2014

console.log(newDate.toDateString());

// Wed, 18 Jun 2014 02:33:24 GMT

console.log(newDate.toGMTString());

// 2014-06-18T02:33:24.000Z

console.log(newDate.toISOString());

// 2014-06-18T02:33:24.000Z

console.log(newDate.toJSON());

// 2014年6月18日

console.log(newDate.toLocaleDateString());

// 2014年6月18日 上午10:33:24

console.log(newDate.toLocaleString());

// 上午10:33:24

console.log(newDate.toLocaleTimeString());

// Wed Jun 18 2014 10:33:24 GMT+0800 (中国标准时间)

console.log(newDate.toString());

// 10:33:24 GMT+0800 (中国标准时间)

console.log(newDate.toTimeString());

// Wed, 18 Jun 2014 02:33:24 GMT

console.log(newDate.toUTCString());

Date.prototype.format = function(format) {

var date = {

"M+": this.getMonth() + 1,

"d+": this.getDate(),

"h+": this.getHours(),

"m+": this.getMinutes(),

"s+": this.getSeconds(),

"q+": Math.floor((this.getMonth() + 3) / 3),

"S+": this.getMilliseconds()

};

if (/(y+)/i.test(format)) {

format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));

}

for (var k in date) {

if (new RegExp("(" + k + ")").test(format)) {

format = format.replace(RegExp.$1, RegExp.$1.length == 1

? date[k] : ("00" + date[k]).substr(("" + date[k]).length));

}

}

return format;

}

console.log(newDate.format('yyyy-MM-dd h:m:s'));

</script>

后面一种直接是设置prototype来做格式的转换。

总结

以上所述是小编给大家介绍的JavaScript时间戳与时间日期间相互转换,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是 JavaScript时间戳与时间日期间相互转换 的全部内容, 来源链接: utcz.com/z/342448.html

回到顶部