Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 将时刻日期字符串更改为适当的时区_Javascript_Date_Momentjs - Fatal编程技术网

Javascript 将时刻日期字符串更改为适当的时区

Javascript 将时刻日期字符串更改为适当的时区,javascript,date,momentjs,Javascript,Date,Momentjs,我有一个有时间和时区的约会 我需要以一种特定的方式格式化它,这就是为什么我要使用矩 假设我要输入的日期字符串是2018-12-31 02:00:00.000+00:00 我通过以下操作将其转换为特定格式: const properDate = moment(date, 'YYYY-MM-DD hh:mm:ss:ms') 但是,这是假设日期是UTC,我希望它是在美国/纽约时区,因此我预期的日期和时间实际上是: 2018-12-30 21:00:00.000 所以我的问题是,在将日期/时间转换为特

我有一个有时间和时区的约会

我需要以一种特定的方式格式化它,这就是为什么我要使用矩

假设我要输入的日期字符串是
2018-12-31 02:00:00.000+00:00

我通过以下操作将其转换为特定格式:

const properDate = moment(date, 'YYYY-MM-DD hh:mm:ss:ms')
但是,这是假设日期是UTC,我希望它是在美国/纽约时区,因此我预期的日期和时间实际上是:

2018-12-30 21:00:00.000

所以我的问题是,在将日期/时间转换为特定格式时,如何将时区添加到矩中? 我知道这不像传递参数那么简单。这是我应该调用的另一个函数吗

我试过了

const properDate = moment(date, 'YYYY-MM-DD hh:mm:ss:ms').tz('America/New_York')
但这也不起作用

编辑:我还应该提到我也在使用
时刻时区
。似乎我不能让它以我需要的方式格式化,也不能让它在正确的时区

所以基本上,我认为我可以这样做:

const momentDate = moment(date)
const properDate = momentDate.tz(timezone).format('YYYY-MM-DD hh:mm:ss:ms')
不幸的是,只要我尝试格式化它,它也不会工作。

用于解析使用给定时区的时间字符串(例如,
'America/New_York'
),而用于在区域之间转换

这里有一个活样本:

const date='2018-12-30 21:00:00.000';
const properDate=moment.tz(日期“YYYY-MM-DD hh:MM:ss.SSS”,“美国/纽约”)
log(properDate.format())

您必须使用并解析您的输入,很肯定以前有人问过。我对此进行了研究,但我发现唯一的方法是,无法按照我要求的方式对其进行格式化。基本上,我想我需要这两种方法一起工作:将其格式化为
YYYY-MM-DD hh:MM:ss:ms
格式,并使其处于正确的时区。