始终使用UTC+;0-使用javascript/angularjs修复客户端浏览器上的自定义时区
如何使用javascript在客户端浏览器上修复自定义时区 例如,在angular上,后台有一个日期“2015-10-16T00:00:00.000Z” 我想要一个显示器(纽约UTC-4或法国UTC+2),总是:2015年10月16日 阅读: 如果我在纽约使用UTC,我有:2015年10月15日始终使用UTC+;0-使用javascript/angularjs修复客户端浏览器上的自定义时区,javascript,angularjs,date,object,Javascript,Angularjs,Date,Object,如何使用javascript在客户端浏览器上修复自定义时区 例如,在angular上,后台有一个日期“2015-10-16T00:00:00.000Z” 我想要一个显示器(纽约UTC-4或法国UTC+2),总是:2015年10月16日 阅读: 如果我在纽约使用UTC,我有:2015年10月15日 <p ng-bind="(myDate | date:'dd/MM/yyyy')"></p> 您可以使用获取客户端的偏移量,然后进行简单的数学运算 var dateToTran
<p ng-bind="(myDate | date:'dd/MM/yyyy')"></p>
您可以使用获取客户端的偏移量,然后进行简单的数学运算
var dateToTranslate = new Date("2015-10-16T00:00:00.000Z");
var timezoneOffset = dateToTranslate.getTimezoneOffset() * 60000;
var newDate = new Date(+dateToTranslate+timezoneOffset);
// Fri Oct 16 2015 00:00:00 GMT+0200 (CEST) in my browser
我补充说:
// Add timeZone
Date.prototype.addTimeZone = function () {
if(this.getTimezoneOffset() > 0){
this.setMinutes(this.getTimezoneOffset());
}
return this;
};
在我的控制器/型号上:
new Date(myDate).addTimeZone();
继续:
扩展日期原型.js
// Add timeZone
Date.prototype.addTimeZone = function () {
if(this.getTimezoneOffset() > 0){
this.setMinutes(this.getTimezoneOffset());
}
return this;
};
// Remove TimeZone
Date.prototype.toJSON = function(){
return moment(this).format('YYYY-MM-DD') + 'T00:00:00.000Z';
};
new Date(myDate).addTimeZone();
view.html
<p ng-bind="(myDate | date:'dd/MM/yyyy')"></p>
我使用您应该向我们展示一些代码。。。你是如何显示那个日期的?以欧洲的夏季为例,这是行不通的。在德国,冬季有UTC+1,夏季有UTC+2。因此,您也需要进行更改。
getTimezoneOffset
可能会返回不同的值,如果DSTchanges@molerat我更新了代码,不知道怎么会错过,我想应该没问题。
new Date(myDate).addTimeZone();