React Moment当地时区

时间:2018-12-06 01:07:49

标签: reactjs momentjs utc

我有一个UTC日期,需要显示当地时间。以下代码的结果显示该时间为UTC时间9:30 PM,但这不是我想要的。如果添加道具:tz =“ America / New_York”,时间将正确转换,但需要根据用户所在的位置进行更改。我检查了文档,但没有找到一种在未设置确切位置的情况下添加tz属性的方法。

       <Moment
        format="M/D/YYYY- h:mm A z"
        utc
       >
         2018-12-06T21:30
        </Moment>

2 个答案:

答案 0 :(得分:0)

react-moment库中,我也看不到任何有关确定用户位置/时区的文档支持。您可能需要另一个库来确定这一点,例如https://www.npmjs.com/package/jstz

答案 1 :(得分:0)

您必须添加本地属性

   <Moment
    format="M/D/YYYY- h:mm A z"
    utc
    local
   >
     2018-12-06T21:30
    </Moment>

库中的文档: https://momentjs.com/docs/#/manipulating/local/

在反应片刻 https://www.npmjs.com/package/react-moment#local

在react-moment文档中,我看不到utc属性。

当您输入'utc'时,您表示日期是utc,并使用'local'属性调用了库的local函数,它将日期转换为本地时区中的本地日期浏览器

默认情况下,日期位于浏览器的时区中,因此,您必须说日期为“ utc”。如果您不带utc呼叫“本地”,则会返回相同的日期。