我有一个API,它返回带有时区偏移量的ISO 8601日期:
目前,使用Angular日期过滤器时,日期会显示在浏览器的时区中:
{{scheduled | date : 'medium'}
是否可以在他们进入的时区(即第一个PST和最后一个EST)中显示它们以及时区名称?
答案 0 :(得分:1)
一种选择是从日期解析偏移量(使用正则表达式),然后将其应用于日期。这可以包装到自定义角度过滤器中,该过滤器包裹date
过滤器:
angular.module('app').filter('datetz', ['$filter', '$window',
function ($filter) {
var _ = $window._;
return function (date, format) {
// Attempt to extract the +00:00 portion of the date.
var matches = date.match(/[+-]\d\d:\d\d/);
var timezone = _.last(matches);
return $filter('date')(date, format, timezone);
};
}
]);
{{'2016-03-05T06:00:00.000-08:00' | datetz : 'medium'}
{{'2016-03-05T06:00:00.000-05:00' | datetz : 'medium'}