Reputation: 2821
I am trying to pass timezone to angular js date filter:
var _date = $filter('date')(input, 'yyyy/MM/dd HH:mm:ss', 'UTC');
where "input" is time in milliseconds. Returned date time string in this case is always in local timezone.
Refer to fiddle example at: http://jsfiddle.net/Cp73s/6312/
Please let me know what is wrong with this fiddle? Angular version is 1.5. Thanks in advance.
Upvotes: 1
Views: 940
Reputation: 4298
Not able to convert using
var _date = $filter('date')(input, 'yyyy/MM/dd HH:mm:ss', 'UTC');
Edited other way in fiddle,
Added utc conversion functions in filter,
myapp.filter('dateFormat', function($filter)
{
var toUTCDate = function(date){
var _utc = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
return _utc;
};
var millisToUTCDate = function(millis){
return toUTCDate(new Date(millis));
};
return function(input)
{
if(input == null){ return ""; }
var _date = $filter('date')(millisToUTCDate(input), "yyyy/MM/dd HH:mm:ss");
return _date.toUpperCase();
};
});
Check this updated fiddle
http://jsfiddle.net/Cp73s/6312/
Upvotes: 2