首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular datetime绑定时区转换

Angular datetime绑定时区转换
EN

Stack Overflow用户
提问于 2014-04-16 13:55:01
回答 1查看 1.9K关注 0票数 0

我有一个应用程序,它通过一个来自rest服务的json对象获取一个datetime。它是这样返回的:

代码语言:javascript
复制
2014-03-30T08:00:00

我绑定到它,并通过日期过滤器传递它,它看起来像是将它放入本地时间。

代码语言:javascript
复制
{{ mytime.begin | date:'dd-MMMM-yyyy hh:mm a Z' }}
30-March-2014 08:00 AM -0400

但是如果我从日期时间选择器绑定到它(到目前为止我已经尝试过的每一个),它会减去偏移量,但仍然认为它是utc。下面是一个来自angular-strap时间选择器的示例

代码语言:javascript
复制
<input type="text" size="8" class="form-control" ng-model="mytime.begin" time-format="hh:mm a Z" data-autoclose="1" placeholder="Time" bs-timepicker> 
04:00 AM -0400

但是,如果我通过时间选择器设置时间,它会正确地以另一种方式绑定。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-04-17 12:14:31

好了,这就是我的发现。你知道他们怎么说假设的;)。因此,MySQL将日期存储为协调世界时,但没有费心在后面加上'Z‘或'+0000’。当返回并解析该日期时,它在不同的情况下会得到不同的处理。

角度过滤器假定不明确的日期为本地时间。

代码语言:javascript
复制
{{ mytime.begin | date:'dd-MMMM-yyyy hh:mm a Z' }}
30-March-2014 08:00 AM -0400

javascript Date.parse函数将假定不明确的日期为UTC。Angular Strap有它自己的日期解析助手,我假设它也在做同样的事情。

代码语言:javascript
复制
<input type="text" size="8" class="form-control" ng-model="mytime.begin" time-format="hh:mm a Z" data-autoclose="1" placeholder="Time" bs-timepicker> 
04:00 AM -0400

更令人困惑的是,假设我的应用服务器正在做同样的事情,但将其转换为localtime。无论如何,通过明确时区,这个问题就会消失。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23101098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档