使用CET时区创建Date对象

时间:2014-01-01 10:15:58

标签: javascript node.js date

要以UTC格式创建Date对象,我们将编写

new Date(Date.UTC(2012,02,30));

如果没有Date.UTC,则需要locale并创建Date对象。如果我必须在世界某个地方为CET运行程序创建一个Date对象,我该怎么做?

2 个答案:

答案 0 :(得分:1)

您不会在“任何特定时区”中创建JavaScript Date对象。 JavaScript Date对象始终使用毫​​秒级自Epoch UTC值。它们具有应用本地时区偏移和规则(getHours而不是getUTCHours)的方法,但仅适用于本地时区。您不能设置 Date对象用于其“本地”方法的时区。

您正在使用Date.UTC执行的操作(正确地,除了0上的前导02之外)只是使用适当的毫秒 - 从Epoch值开始初始化对象UTC中的日期/时间(3月30日午夜),而new Date(2012, 2, 30)将其解释为当地时间3月30日午夜。除了初始化的日期时间之外,Date对象中存在 no 差异。

如果您需要本地以外的时区,您所能做的就是使用Date函数的UTC版本,并为您想要使用的时区应用您自己的偏移和规则,这是非常重要的。 (偏移是微不足道的;规则往往不是。)

如果你去寻找,你可以找到为你处理时区的节点模块。快速搜索“节点时区”刚刚给我timezone作为第一击。它还为我提供了this SO questionthis SO questionthis list of timezone modules for Node的链接。

答案 1 :(得分:0)

$scope.list=[
  {name:'Jack Bauer'},
  {name:'Chuck Norris'},
  {name:'Superman'},
  {name:'Batman'},
  {name:'Spiderman'},
  {name:'Hulk'}
];


<ul>
  <li ng-repeat="item in list | filterWithOr:{name:['Jack','Chuck']}">
    {{item.name}}
  </li>
</ul>