设置时刻日期后设置UTC偏移量



我希望在YYYYMMDD上设置一个日期,该日期应该引用特定utcOffset上的日期。但我不确定在设置utcOffset后设置此日期的最佳和优雅方法是什么。

能得到的接近是以下,但这不是我想要的实际结果。我需要一种方法来首先设置偏移量,然后根据此偏移量设置YYYYMMDD

moment.utc(ymdDate, 'YYYYMMDD').utcOffset(timeOffset)

示例

如果我有一个像20190420这样的日期,必须在应该指代不同时区的时刻对象上使用,并且我这样做,那么日期将导致 4 月 19 日。

moment.utc(20190420, 'YYYYMMDD').utcOffset(-300).format()

结果2019-04-19T19:00:00-05:00

预期成果2019-04-20T00:00:00-05:00

您可以使用传递utcOffset true作为第二个参数

utcOffset函数有一个可选的第二个参数,该参数接受一个布尔值,该值指示是否保留一天中的现有时间。

  • 传递false(默认值(将保持世界时相同的时刻,但本地时间会发生变化。

  • 传递true将保持相同的本地时间,但代价是选择世界时的不同点。

这是一个实时样本:

console.log( moment.utc(20190420, 'YYYYMMDD').utcOffset(-300, true).format() );
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

最新更新