{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}: 2010-10-29 09:10:23 +0530
我想在angularjs中使用+05:30的冒号时区。
答案 0 :(得分:0)
您可以执行以下操作
{{ d = (1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z').split(''); d.splice(-2, 0, ':'); d.join('') }}
但更好(更清洁)的方法是编写自己的自定义过滤器。
注意 - 顺便说一句,角度表达式不支持正则表达式文字(如果您考虑以这种方式简化它) - https://docs.angularjs.org/guide/expression
答案 1 :(得分:0)
当我提出这个答案时,我引用了这个Q&A:
myApp.config(['$provide', function($provide) {
$provide.decorator('dateFilter', ['$delegate', function($delegate) {
return function() {
var args = arguments;
// Replace my 'ZZ' option with a 'Z' I can find
args[1] = args[1].replace('ZZ', '!!Z!!');
// Get the original, Angular output
original = $delegate.apply(this, args);
// Find my marked time zones, clean up, and add the colon
return original.replace(/!!([-|+]?)(\d\d)(\d\d)!!/, '$1$2:$3');
};
}])
}]);
你可以看到它的JSFiddle here。此方法选择使用ZZ
选项扩展带有冒号的时区的内置日期过滤器。唯一不考虑的是转义字母,但这对我的项目扩展不是问题。您可能需要检查,特别是如果您覆盖原始的Z
选项。