Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript moment.fromNow()时区问题_Javascript_Typescript_React Native_Momentjs_Moment Timezone - Fatal编程技术网

Javascript moment.fromNow()时区问题

Javascript moment.fromNow()时区问题,javascript,typescript,react-native,momentjs,moment-timezone,Javascript,Typescript,React Native,Momentjs,Moment Timezone,我从服务器上收到的新闻帖子的日期不包括时区,我知道帖子来自EST时区,例如:2020年3月30日上午10:53(-5 GMT);当帖子在几秒钟前刚刚更新时。fromNow()显示它是在8小时前发布的,因为我生活在+3 GMT。那一刻我应该怎么做。fromNow()显示正确的时间帖子是在不考虑时区差异的情况下更新的。对不起我的英语。 我的代码: 。。。 const dateMoment=时刻(日期'MMMM DD,YYYY h:mm A'); news.date=dateMoment.toDate

我从服务器上收到的新闻帖子的日期不包括时区,我知道帖子来自EST时区,例如:2020年3月30日上午10:53(-5 GMT);当帖子在几秒钟前刚刚更新时。fromNow()显示它是在8小时前发布的,因为我生活在+3 GMT。那一刻我应该怎么做。fromNow()显示正确的时间帖子是在不考虑时区差异的情况下更新的。对不起我的英语。 我的代码:

。。。
const dateMoment=时刻(日期'MMMM DD,YYYY h:mm A');
news.date=dateMoment.toDate();
...
//组件中
{moment(news.date).fromNow()}//获取文本“8小时前”,即使它现在已发布
...
{moment(news.date).tz('America/New_York').fromNow()}//也不起作用,仍然相差8小时

如果您想将时间转换为特定的时区,可以尝试为其指定一个时间,如-


这是我的错误。我把日期分析错了。正确的方法是:

const dateMoment=moment(日期,'MMMM DD,yyyyy h:mm A').tz('America/New_York',true);
news.date=dateMoment.toDate();
我应该在
tz(时区:string,keepLocalTime?:boolean):矩.矩中设置
keepLocalTime
true

现在我只在组件中使用:

{时刻(news.date).fromNow()}

实际上时区也错了,不是纽约,而是洛杉矶…

你可能想要,而现在在EST中的值不起作用,可悲的是,我也尝试了这里的变体:,对我来说没有任何作用
{ moment(news.date).utcOffset('-05:00').fromNow() }