【Node.js】时间处理

  • 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() // 距离现在的时间
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小秀_heo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值