【问题标题】:How to use startOfDay from date-fns with timezones?如何将 date-fns 中的 startOfDay 与时区一起使用?
【发布时间】:2021-08-21 11:12:02
【问题描述】:

我尝试用 date-fns 替换 momentjs

但我正在努力解决一件非常简单的事情: 我需要根据给定的时区计算我在时间戳中获得的日期的 startOfDay、一天结束和 addDays。

date = 1492437600; // Monday April 17, 2017 12:00:00 (pm) in time zone America/Noronha
timeZone = 'America/Noronha';
_startOfDay = utcToZonedTime(startOfDay(date*1000), timeZone).getTime()/1000;

我得到了 _startOfDay = 1492365600 的结果,即 2017 年 4 月 16 日星期日 16:00:00(下午)在美国/诺罗尼亚时区

我做错了什么? 提前致谢

【问题讨论】:

  • 当您调用方法 startOfDay(..) 时,您没有指定时区,因此返回日期可以是任何时区的一天的开始。我的猜测是 UTC,但也可能是另一个时区。

标签: javascript date date-fns


【解决方案1】:

尝试使用库中提供的 fromUnixTime 函数,

   var fromUnixTime = require('date-fns/fromUnixTime')
        
    // Create the date 29 February 2012 11:45:05:
    var result = fromUnixTime(1330515905)
   //=> Wed Feb 29 2012 11:45:05

【讨论】:

  • 您好,我需要 startOfDay 的时间戳...所有日期都在 Timestamps 中。
  • 检查编辑的答案。希望它可能会有所帮助!
猜你喜欢
  • 2020-12-18
  • 2019-06-30
  • 2021-09-27
  • 2019-02-03
  • 2021-04-01
  • 2021-08-01
  • 2021-05-07
  • 1970-01-01
  • 2021-08-22
相关资源
最近更新 更多