- UTC:英国格林威治时间,标准时间,1970.1.1 00:00:00
- 北京时间:比UTC时间晚8个小时
- 时间戳:UTC 时间到现在经过的毫秒数
服务器(数据库)应该统一使用时间戳用来记录时间。
客户端再将时间戳转为本地时间显示。
const moment = requeire('moment');
// 返回moment对象
moment()
// 返回当地日期和时间
moment.toString()
// 得到当前时间戳
moment.valueOf() // 本地
moment.utc().valueOf() // utc
// 传入时间戳
moment(0).toString()
moment.utc(0).toString() // 传入时间戳二者是相同
// 传入日期字符串导致二者的时间戳是不同的 因为日期字符串是二者的本地时间
moment('2020-01-01').toString() // 北京时间
moment.utc('2020-01-01').toString() // utc 时间
// 使用日期转换
const formats = [
'YYYY-MM-DD HH:mm:ss',
'YYYY-M-D H:m:s',
'x', // 时间戳
]
moment.utc('2020-01-01 00:00:00', formats, true).toString()
moment.utc('2020-01-01 0:0:0', formats, true).isValid() // true 判断是否满足我们要求的合法日期
// 客户端友好显示
moment.utc('2020-01-01 00:00:00', formats, true).format("YYYY年MM月DD日 HH:mm:ss")
moment.utc('2020-01-01 00:00:00', formats, true).utc() // 转换为utc时间
moment.utc('2020-01-01 00:00:00', formats, true).local() // 转换为本地时间
moment.utc('2020-01-01 00:00:00', formats, true).local().fromNow() // 距离现在的时间