欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-24 18:11:22
今天在工作中要将获取到的时间转换为时间戳,一时间竟不知道怎么用,于是不得不去查询资料,这里特地做个笔记。   1、将日期转换为时间戳。   要将日期转换为时间戳,首先得...

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

  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时间戳与时间日期间相互转换,希望对大家有所帮助