根据时区 Angular 格式化日期
Format date in Angular based on Timezone
我从 API 收到 UTC 格式的日期。我需要使用用户的本地时区输出日期。我从不同的 API.
中为每个用户分配了一个时区
使用以下文档,我能够使用 +(即 +100、+200 等)在所有时区工作。但是,当我的时区带有 -(即 -800)时。这不起作用。
作品:
{{element.myDate | date:'d-MMM-yyyy HH:mm' : '+800' }}
原值:2019 年 1 月 7 日00:46
新值:2019 年 1 月 7 日16:46
不起作用(忽略时区):
{{element.myDate | date:'d-MMM-yyyy HH:mm' : '-800' }}
原值:2019 年 1 月 7 日00:46
新值:2019 年 1 月 7 日00:46
Angular Class调用后使用API
export class MyClass {
constructor(
public myDate: Date,
public otherData: string
) {}
}
由于日期在Angular中被认为是"local",您可以先将其转换为UTC,然后在视图中显示结果。下面的转换方法假定 myUtcDate
属性 存在于元素 class:
this.myUtcDate = new Date(Date.UTC(
this.myDate.getFullYear(),
this.myDate.getMonth(),
this.myDate.getDate(),
this.myDate.getHours(),
this.myDate.getMinutes(),
this.myDate.getSeconds()
));
{{ element.myUtcDate | date:'d-MMM-yyyy HH:mm' : '-800' }}
有关演示,请参阅 this stackblitz。
我从 API 收到 UTC 格式的日期。我需要使用用户的本地时区输出日期。我从不同的 API.
中为每个用户分配了一个时区使用以下文档,我能够使用 +(即 +100、+200 等)在所有时区工作。但是,当我的时区带有 -(即 -800)时。这不起作用。
作品:
{{element.myDate | date:'d-MMM-yyyy HH:mm' : '+800' }}
原值:2019 年 1 月 7 日00:46
新值:2019 年 1 月 7 日16:46
不起作用(忽略时区):
{{element.myDate | date:'d-MMM-yyyy HH:mm' : '-800' }}
原值:2019 年 1 月 7 日00:46
新值:2019 年 1 月 7 日00:46
Angular Class调用后使用API
export class MyClass {
constructor(
public myDate: Date,
public otherData: string
) {}
}
由于日期在Angular中被认为是"local",您可以先将其转换为UTC,然后在视图中显示结果。下面的转换方法假定 myUtcDate
属性 存在于元素 class:
this.myUtcDate = new Date(Date.UTC(
this.myDate.getFullYear(),
this.myDate.getMonth(),
this.myDate.getDate(),
this.myDate.getHours(),
this.myDate.getMinutes(),
this.myDate.getSeconds()
));
{{ element.myUtcDate | date:'d-MMM-yyyy HH:mm' : '-800' }}
有关演示,请参阅 this stackblitz。