当前位置:嗨网首页>书籍在线阅读

07-在服务端构造日期对象

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

15.5.1 在服务端构造日期对象

如果在服务端构造日期对象,建议要么用UTC,要么明确指定时区。如今,随着基于云的应用开发的兴起,同一套代码可以在世界上任何任何一台服务器上运行。如果构造的是当地的日期对象,那么就在自找麻烦。如果可以用UTC日期,那就可以用 Date 对象的UTC方法来构造日期。

const d = new Date(Date.UTC(2016, 4, 27));  // May 27, 2016 UTC
`Date.UTC` 跟 `Date` 构造器具有相同的参数,不过它并不会返回一个新的 `Date` 实例,而是返回该日期的数值。然后将该数值传给 `Date` 构造器去创建一个 `Date` 实例。

如果需要在服务端构建一个具有指定时区(而非手动转换时区)的Date实例,可以使用 moment.tz

// 给Moment.js传入一个数组时使用了与JavaScript的Date构造器一样的参数,其中包含
// 了从0开始的月份(0=1月,1=2月,等等)。toDate()方法将结果转换成过一个
// JavaScript日期对象
const d = moment.tz([2016, 3, 27, 9, 19],'America/Los_Angeles').toDate();