I am using angularJS ui-bootstrap timepicker on client-side and ASP MVC Web API on server-side:
<timepicker ng-model="formData.NotificationSendingTime"></timepicker>
Client gets NotificationSendingTime from server in format like this: 2015-04-23T20:00:00.
But different browsers show different time: Internet Explorer shows 20:00 (right), Chrome shows 23:00 (wrong). As I understand, Chrome changes the time according to my local timezone. So I've written angularJS filter to convert date to iso format:
filter('toIso', [function() {
return function(dateTime) {
var localDate = new Date(dateTime);
var localTime = localDate.getTime();
var localOffset = localDate.getTimezoneOffset() * 60000;
var isoDate = new Date(localTime + localOffset);
return isoDate.toISOString();
};
}]);
And use it in my controller (setting of $scope.formData is not shown in code below):
value.NotificationSendingTime = $filter('toIso')(value.NotificationSendingTime);
After applying the filter Internet Explorer shows 17:00 (wrong), Chrome shows 20:00 (right).
So my question is what do I do to achieve the same value in timepickers in different browsers? Thanks.