我正在使用下面的代码在我的角度应用程序显示日期时间与时区。它显示,2022年7月22日12:36:52格林尼治时间-4我想用特定的时区代替GMT-4,比如EDT或PST或CST。
我使用以下代码,
@Component({
selector: '',
styleUrls: [''],
templateUrl: '',
providers: [DatePipe]
})
public class Test {
clock;
constructor() {
this.clock = this.datePipe.transform(new Date(), 'MMMM d, y h:mm:s z');
}
}发布于 2022-07-23 05:17:18
您可以这样使用管道/自定义管道:
script.js:
var toUTCDate = function(date){
var _utc = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
return _utc;
};
var millisToUTCDate = function(millis){
return toUTCDate(new Date(millis));
};
var tzOffsetMillis = function(){
var date = new Date();
var offsetMinutes = date.getTimezoneOffset();
var offsetMillis = offsetMinutes * 60000;
}
$scope.toUTCDate = toUTCDate;
$scope.millisToUTCDate = millisToUTCDate;
$scope.tzOffsetMillis = tzOffsetMillis;index.html:
<body>
<div ng-controller="ctrl">
<div>
utc: {{millisToUTCDate(1400167800 * 1000) | date:'dd-M-yyyy H:mm Z'}}
</div>
<div>
local: {{(1400167800 * 1000) | date:'dd-M-yyyy H:mm Z'}}
</div>
<div>
alt UTC: {{(1400167800 * 1000 + tzOffsetMillis()) | date:'dd-M-yyyy H:mm Z'}}
</div>
</div>
</body>参考:https://plnkr.co/edit/eLwnLZReCy8HXtJyO84q?p=preview&preview
发布于 2022-07-25 15:10:55
const timeZoneAbbreviated = () => {
const { 1: tz } = new Date().toString().match(/\((.+)\)/);
// In Chrome browser, new Date().toString() is
// "Thu Aug 06 2020 16:21:38 GMT+0530 (India Standard Time)"
// In Safari browser, new Date().toString() is
// "Thu Aug 06 2020 16:24:03 GMT+0530 (IST)"
if (tz.includes(" ")) {
return tz
.split(" ")
.map(([first]) => first)
.join("");
} else {
return tz;
}
};
console.log("Time Zone:", timeZoneAbbreviated());
// IST
// PDT
// CESThttps://stackoverflow.com/questions/73083771
复制相似问题