nodejs moment 修改时间格式 日期格式与时间戳格式互相转化
node js moment 修改时间格式 日期格式与int格式互相转化
nvm use 8.3
> moment = require('moment')
> days = '2019-07-01'
'2019-07-01'
> moment().subtract(days, 'days').unix()
1563356732
>> var d = new Date(1563356732)
undefined
> d
1970-01-19T02:15:56.732Z
不使用moment 使用Date
nvm use 8.3
> var str = "Jan 19 2017 13:00:00";
> var t1 = new Date(str)
undefined
> t1
2017-01-19T05:00:00.000Z
> var t1 = t1.getTime();
undefined
> t1
1484802000000
需要注意两点:
第一,这里的str是按当地时间(localTime)计算的, 以中国为例,此处str表示北京时间(第8时区)2017年1月19日13时,亦即表示格林威治时间(第0时区)2017年1月19日05时。
第二,此处的str支持多种格式,例如以下两种写法得到的结果一致
var str1 = "2017-01-19 13:00:00";
var str2 = "Jan 19 2017 13:00:00";
var t1 = new Date(str1).getTime();
var t2 = new Date(str2).getTime();
得到当前时刻的时间戳
var t1 = Date.now();
var t2 = new Date().getTime();
> console.log(t1);
1563855892617
> console.log(t2);
1563855892619
日期之间的比较
将日期转换成时间戳后直接进行计算即可,举例计算两个日期之间的间隔是否大于一个星期:
var str1 = "2017-02-27 13:00:00";
var str2 = "2017-03-05 13:00:00";
var t1 = new Date(str1).getTime();
var t2 = new Date(str2).getTime();
if((t2-t1)>7*24*3600*1000) console.log('interval is greater than a week');