Ignore Time Zone Angularjs

房东的猫 提交于 2020-01-29 05:08:14

问题


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/


回答1:


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>



回答2:


I was experimenting the same problem for a while. There is a timezone possible parameter to the date filter which I think should be the preferred solution, instead of making your own filter and append it. So, this is what worked for me:

{{ someAcceptedDateFormat | date : 'shortTime' : 'UTC' }}



回答3:


I Have the solution:

app.filter('timezone', function(){

 return function (val, offset) {
        if (val != null && val.length > 16) {
    return val.substring(0, 16)
}    
return val;
    };
});

template:

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

http://jsfiddle.net/samibel/n4CuQ/



来源:https://stackoverflow.com/questions/21133776/ignore-time-zone-angularjs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!