utc时刻,date-fns是否有类似内容?

4 javascript momentjs ecmascript-6 date-fns

我目前正在重构使用日期代码的大型代码库。许多地方的日期都像这样:moment.utc()

我似乎在date-fns中找不到类似的东西?有谁知道我如何在date-fns中获得相同的功能?还是纯香草?

只需匹配一下moment.utc()

Mat*_*int 8

Moment.js库提供的对象具有“模式”的概念。甲moment对象可以是在本地模式下,UTC模式,或者被固定到特定的时间区偏移。通过moment-timezone附加库,它也可以属于一个命名的时区。调用时moment.utc(),您将力矩对象设置为UTC模式。

Date-fns是一个出色的库,它Date提供了与JavaScript语言(在ECMAScript标准中)提供的标准对象一起使用的辅助函数。因此,其功能仅限于您可以使用Date对象执行的操作。

Date对象没有瞬间所具有的模式。因此,您不能Date使用Date-fns或任何其他vanilla js技术将对象切换到UTC模式。

Date对象始终跟踪时间UTC点在内部,它暴露了一些功能和需要UTC时间参数,以及其他利用本地时间。任何使用本地时间的函数都将在函数调用时从UTC进行转换。换句话说,如果您呼叫new Date(year, month, day, hour, minute, second),这些值是当地时间,它们会立即转换为UTC。您可以随时通过调用.getTime()或获得内部值.valueOf()。如果您想要更常见的表示形式,.toISOString()则是一个不错的选择。

结论:您不能将Date对象转换为UTC,因为它已经存在于UTC中。您只能根据调用的功能要求提供UTC或本地时间输出。