与时区一起构造日期对象

时间:2018-04-04 09:34:16

标签: javascript angular typescript date

我想构建一个Date对象以及动态选择的时区。我目前在IST时区。我想消除Date.parse()的使用,因为它有时不像预期的那样表现。 我们现在假设tzOffset+05:30。它可以是基于用户想要的任何其他时区。 new Date(epochDate).toISOString();将日期转换为UTC时区。如何以toISOString()格式获取日期,但也可以在所需的时区内获取日期

const tsConstruct = `${year}-${month}-${date}T${hour}:${min}:00${tzOffset}`;
      const epochDate = Date.parse(tsConstruct);
      scheduledTs = new Date(epochDate).toISOString();

1 个答案:

答案 0 :(得分:1)

JavaScript的日期不存储时区信息。它只存储UNIX EPOCH的毫秒数。然后,根据您是否使用UTC方法,它将以UTC或当地时间返回日期和时间。

您必须根据指定的时区将日期和时间更改为UTC或本地时间,然后将其存储在Date对象中。但是,当然,要在另一个与本地或UTC不同的时区显示存储时间,您必须自己进行转换,因此,正如@RuChengChong建议的那样,使用辅助库momentjs