是否有可能注入新的簡寫形式進入角日期過濾器?向Angular日期過濾器添加新格式?
例如,我目前可以做到這一點:{{ myScope.timestamp | date: 'shortDate' }}
。
我想要做的是這樣的:{{ myScope.timestamp | date: 'paddedShortDate' }}
,這將強制使用前導0
來填充單位數日期部分。
我知道我可以創建自己的過濾器來爲我—我,如果現有的過濾器以任何方式粗放更加好奇做到這一點。
是否有可能注入新的簡寫形式進入角日期過濾器?向Angular日期過濾器添加新格式?
例如,我目前可以做到這一點:{{ myScope.timestamp | date: 'shortDate' }}
。
我想要做的是這樣的:{{ myScope.timestamp | date: 'paddedShortDate' }}
,這將強制使用前導0
來填充單位數日期部分。
我知道我可以創建自己的過濾器來爲我—我,如果現有的過濾器以任何方式粗放更加好奇做到這一點。
查看源代碼here,DATE_FORMATS
從$locale
中獲取。雖然我不建議編輯這些(作爲$locale.DATE_FORMATS
是一個私人API,並可以在未來改變),你應該能夠通過運行塊做到這一點:
app.run(['$locale', function($locale) {
$locale.DATETIME_FORMATS.paddedShortDate = 'MM/dd/yy';
}]);
正如你所說,你沒」我想創建另一個過濾器,但在我看來這將是更好的方法。一個簡單的過濾器應該可以正常工作:
var MY_DATETIME_FILTERS = {
'paddedShortDate': 'MM/dd/yy'
};
app.filter('myFormat', ['$filter', function($filter) {
return function(format) {
return $filter('date')(input, MY_DATETIME_FILTERS[format] || format);
}
}]);
Whelp,進行了一些編輯並重新閱讀了幾件事情,但我找到了一種方法來做到這一點。 – FrankerZ