在设置utcOffset

时间:2019-04-18 18:30:19

标签: momentjs

我希望在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

1 个答案:

答案 0 :(得分:1)

您可以使用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>