我使用时刻在角度5中使用了函数:
moment('2013-12-01', 'YYYY-MM-DD').utcOffset('America/Los_Angeles')
.startOf('Day').format('YYYY-MM-DD HH:mm:ssZ')
当我在我的本地进行测试时,它会给出一个我期待的正确响应,即-0800
时间偏移。
当我们构建它时,它的投掷误差是+0000而不是-0800。
任何人都可以帮我解决如何测试这个功能吗?
答案 0 :(得分:1)
根据我的理解from the documentation,utcOffset
不使用时区名称,例如“America / Los_Angeles”。为此,您必须使用moment.timezone:
moment.tz('2013-12-01', 'America/Los_Angeles')
.startOf('Day').format('YYYY-MM-DD HH:mm:ssZ') // 2013-12-01 00:00:00-08:00
您的代码有时会起作用,因为当您传递一个无法识别的字符串时,它会使用浏览器/环境时区的偏移量 - 因此,如果您拨打utcOffset('America/Los_Angeles')
或utcOffset('whatever')
,则无关紧要,它将使用您的浏览器/环境的时区,有时它可以工作,有时不工作,具体取决于浏览器/环境的配置方式。