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');
