Search code examples
angularjsangularjs-filter

Ignore Time Zone Angularjs


Is there a better way to ignore an timezone in Angularjs:

"2014-01-18 14:30:00" Instead Of "2014-01-18 15:30:00"

function Scoper($scope) {
    $scope.datum = "2014-01-18T14:30:00Z";
}

<div ng:app ng:controller="Scoper">
    DateTime  <br />
    Angular: {{datum | date:'yyyy-MM-dd HH:mm:ss'}} <br />
</div>

http://jsfiddle.net/samibel/2rMXJ/


Solution

  • I found this answer: Why does angular date filter adding 2 to hour?

    Here is an example:

    Just pipe another filter:

    app.filter('utc', function(){
    
      return function(val){
        var date = new Date(val);
         return new Date(date.getUTCFullYear(), 
                         date.getUTCMonth(), 
                         date.getUTCDate(),  
                         date.getUTCHours(), 
                         date.getUTCMinutes(), 
                         date.getUTCSeconds());
      };    
    
    });
    

    In your template:

    <span>{{ date | utc | date:'yyyy-MM-dd HH:mm:ss' }}</span>