我正在开发一个应用程序,其中日期以字符串形式存储在服务器中,并在东部时间创建。我一直在尝试使用momentjs在前端将日期显示为本地时间,并且转换似乎非常简单:
var date = moment.tz(serverDate, 'America/New_York');
var convertedDate = date.local().format();
这在正常情况下可行,但是在测试过程中将本地时区设置为美国东部时间时遇到了一个问题(即与服务器日期相同的时区,因此所有日期都应按原样反映在前端中)。未启用夏令时的日期会偏移一小时。据我了解,这是由于矩库从一个时区转换为另一个时区时使用了 current 时区偏移量。夏令时期间ET的偏移量为-300,而夏令时以外的日期的ET矩为-240。我尝试了使用矩量库进行其他转换的方法,但所有方法仍然归结为使用不正确的偏移量。
var date = moment.tz('2018-05-30T04:00:00', 'America/New_York');
var converted = date.tz(moment.tz.guess()).format(); //"2018-05-30T03:00:00-05:00"
momentjs是否可以处理这些情况?