Hol*_*ley 16 javascript date-format timezone-offset angularjs angular-ui-bootstrap
我有一个奇怪的问题,Date
当它通过$ http.put传递给API时发生了变化,我怀疑是时区问题:
Datepicker触发ng-change事件 - console.log:
Tue Jun 10 2014 00:00:00 GMT+0100 (GMT Summer Time)
使用Angular $ http.put传递给API ...
当它击中提琴手时:
StartDate=2014-06-09T23:00:00.000Z
如您所见,日期从6月10日到6月9日.
我怎样才能阻止这种更改日期?这是导致变化的时区吗?API和客户端都在Localhost上运行.
除此之外:
当第二次单击该字段并选择了datepicker启动/日期时,第二次出现问题:
CONSOLE.LOG:
Wed Aug 06 2014 22:00:00 GMT+0100 (GMT Summer Time)
收到的提琴手数据:
StartDate=2014-08-06T21:00:00.000Z
Fla*_*nno 12
我认为这是一个TZ问题,b/c你GMT+0100
和你之间的差异StartDate=2014-06-09T23:00:00.000Z
是5小时.
.
您当地的时间目前是BST(英国夏令时),相当于GMT +1
这将是您进行API调用时的默认时间.
但是,API是由Google在加利福尼亚州编写的,而且它们是以自我为中心的.因此,他们会自动转换时间,因为您没有提供任何date
格式化"说明".
换句话说,Chrome浏览器为你做的很好的转换,当您打印到console.log()
,但是当你做你的$http.put
,角,没有给你明确的格式,使用它的默认TZ(这是进行呼叫PST
)
.
您需要强制将日期格式设置为您的语言环境.
角度模板
{{ date_expression | date : 'yyyy-MM-dd HH:mm:ss'}}
Run Code Online (Sandbox Code Playgroud)在JavaScript中
$filter('date')(date, 'yyyy-MM-dd HH:mm:ss')
Run Code Online (Sandbox Code Playgroud)使用本地化
<html>
<head>
<title>My Angular page</title>
<script src="angular-locale_en-uk.js"></script>
...
</head>
<body>
...
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
8388 次 |
最近记录: |