Javascript 角度显示日期,无需时区转换
我有一个对象的日期字段是Javascript 角度显示日期,无需时区转换,javascript,angularjs,date,Javascript,Angularjs,Date,我有一个对象的日期字段是“2015-01-31T00:00:00.000Z”我想在我的应用程序中显示1/31/15。问题是它在我的时区显示我的日期,而不是UTC,所以它实际上显示的是1/30/15 我环顾四周,找不到一个干净的解决方案来简单地显示日期,而不引入角度1.3或时刻。我决定在用户的帮助下创建自己的过滤器 使用$filter服务。。。 .filter('utcDate', function ($filter) { return function (theDate) {
“2015-01-31T00:00:00.000Z”
我想在我的应用程序中显示1/31/15。问题是它在我的时区显示我的日期,而不是UTC,所以它实际上显示的是1/30/15
我环顾四周,找不到一个干净的解决方案来简单地显示日期,而不引入角度1.3或时刻。我决定在用户的帮助下创建自己的过滤器
使用$filter服务。。。
.filter('utcDate', function ($filter) {
return function (theDate) {
var dateFilter = $filter('date');
originalDate = new Date(theDate);
currentDate = new Date();
utcDate = millisToUTCDate(currentDate);
millisecondsToUtc = utcDate - currentDate;
originalDate.setHours(originalDate.getHours() + toHours(millisecondsToUtc))
return dateFilter(originalDate, 'shortDate');
};
});
function toUTCDate(date) {
var _utc = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
return _utc;
};
function millisToUTCDate(millis) {
return toUTCDate(new Date(millis));
};
function toHours(milliseconds) {
return Math.round(milliseconds / 1000 / 60/ 60)
}