如何确定给定时区、给定日期值和 Typescript 时间的夏令时的正确时区?

问题描述 投票:0回答:0

在使用 Typescript 的 Angular 应用程序中,我有日、月、年、小时和分钟的整数值(来自 FormControl 对象)并且我知道地理时区(例如英国)。

我想从中得出实际的时间戳(毫秒)。

我在做

let timestampDate = new Date();

(我相信这是默认的UTC)

那我在做

timestampDate.setFullYear(this.timestampYear.value ? parseInt(this.timestampYear.value) : 0, this.timestampMonth.value ? parseInt(this.timestampMonth.value) - 1 : 0, this.timestampDay.value ? parseInt(this.timestampDay.value) : 0);
timestampDate.setHours(this.timestampHour.value ? parseInt(this.timestampHour.value) : 0);
timestampDate.setMinutes(this.timestampMinute.value ? parseInt(this.timestampMinute.value) : 0);

在给定日期值的情况下,如何使用系统确定给定时间是 GMT 还是 BST?

而且,一旦确定,我相信我无法在 Typescript Date 对象上设置时区,但我至少可以相应地抵消小时值。

我正在获取时间戳值

var timestamp = timestampDate.valueOf();

更新:如果在不自己实现 DST 计算规则的情况下这在 Typescript 中是不可能/容易的,我应该只在我的后端使用 Java 来完成吗?

angular typescript date timezone dst
© www.soinside.com 2019 - 2024. All rights reserved.