如何将日期字符串转换为时区特定日期。?
How to convert a date string to timezone specific date.?
嗨,我有一个 angular 5 项目。我在根据用户时区显示日期时遇到问题。
这是我的示例代码片段。
formatDateForTableDisplay(dateValueAsString: string) {
console.log(dateValueAsString); // this will print for example 2020-05-31
const dateObject = new Date(dateValueAsString);
if (this.formGroup.get('frequency').value === 'PER_DAY') {
return this.datePipe.transform(dateObject, 'mediumDate');
} else if (this.formGroup.get('frequency').value === 'PER_MONTH') {
return this.datePipe.transform(dateObject, 'LLL, yyyy');
} else {
return this.datePipe.transform(dateObject, 'yyyy');
}
}
想象一下,如果我们将日期字符串作为 2020-05-31 传递给函数 formatDateForTableDisplay。在另一个用户中,时区可能是 6 月 1 日,因为用户时区比 GMT 早 +8 小时,这需要打印为 2020-06-01。我怎样才能实现它
谢谢
您有 dateValueAsString
作为 2020-05-31 进入,这意味着您没有小时、分钟或秒(在这种情况下,小时是最重要的)。所以你无法判断 dateValueAsString
是在凌晨 2 点保存的(意味着它将保持为 2020-05-31)还是在晚上 11 点保存(意味着它应该转换为 2020-06-01)
嗨,我有一个 angular 5 项目。我在根据用户时区显示日期时遇到问题。
这是我的示例代码片段。
formatDateForTableDisplay(dateValueAsString: string) {
console.log(dateValueAsString); // this will print for example 2020-05-31
const dateObject = new Date(dateValueAsString);
if (this.formGroup.get('frequency').value === 'PER_DAY') {
return this.datePipe.transform(dateObject, 'mediumDate');
} else if (this.formGroup.get('frequency').value === 'PER_MONTH') {
return this.datePipe.transform(dateObject, 'LLL, yyyy');
} else {
return this.datePipe.transform(dateObject, 'yyyy');
}
}
想象一下,如果我们将日期字符串作为 2020-05-31 传递给函数 formatDateForTableDisplay。在另一个用户中,时区可能是 6 月 1 日,因为用户时区比 GMT 早 +8 小时,这需要打印为 2020-06-01。我怎样才能实现它
谢谢
您有 dateValueAsString
作为 2020-05-31 进入,这意味着您没有小时、分钟或秒(在这种情况下,小时是最重要的)。所以你无法判断 dateValueAsString
是在凌晨 2 点保存的(意味着它将保持为 2020-05-31)还是在晚上 11 点保存(意味着它应该转换为 2020-06-01)