在使用 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 来完成吗?