- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我们的 AngularJS, Cordova PhoneGap
应用程序上使用 JavaScript XDate
插件。我们正在使用 XCode
进行开发。我们有一个函数执行 REST 服务调用以从 SQL Server 数据库检索时间戳。
返回值时,其格式如下:
"2014-07-09T11:12:13.123"
为了正确填充我们的 XDate 变量,我必须这样做:
var date = new XDate(dateString.substring(1, 20));
这会删除实际日期值中的引号和毫秒。
但是,我发现这是将其保存为 UTC 时间。阅读完后,我发现只需将“true”参数添加到 XDate 构造函数作为最后一个参数即可指定使用当前时区,因此我将其更新为:
var date = new XDate(dateString.substring(1, 20), true);
完美!一切都很好......在我的机器上。
一位同事刚刚将他的 Mac 操作系统更新到 10.9.4(我运行的是 10.8.5)。在他的机器上,当他读入时,它仍然认为该变量是 UTC 时间。我刚刚让另一位开发人员对此进行了测试(她使用的是 10.9.3),她说的是正确的 CDT 时区。
这是 Mac 操作系统问题吗,因为它只在他的机器上出现问题,而没有其他开发人员出现问题?
最佳答案
根据the XDate documentation ,传递 true
会将值视为 UTC - 而不是本地值。
默认是本地的,或者此设置的false
。
其他一些事情:
您不需要减少毫秒数。 XDate 可以很好地处理它们。
字符串开头有引号有点奇怪。通常,引号用于分隔字符串的开始和结束位置。如果引号位于字符串中,则说明它们被错误地插入到了堆栈的更高位置。
您提到了客户端堆栈和数据库,但没有提到什么将数据从数据库提供给客户端。例如,ASP.Net 或 PHP。如果你想避免客户端混淆,那么你应该在这一层调整时间戳以使其完全合格。
通过限定,我的意思是它应该包含 Z
来指示 UTC,或时区偏移量,例如 -05:00
。这是RFC 3339推荐的。通过无条件地将值发送给客户端,您可以允许不同的客户端根据适用于他们的本地时区来解释该值。这通常不是我们所期望的。
关于Mac 上的 JavaScript XDate 无法识别本地时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24658782/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
稍微解释一下情况;我们有一个非标准文本时间和日期字符串,它变化很大,需要被解析成一个XDate ( http://arshaw.com/xdate/ ) 对象(可能有多个 XDate 对象)。 请注意
我在我们的 AngularJS, Cordova PhoneGap 应用程序上使用 JavaScript XDate 插件。我们正在使用 XCode 进行开发。我们有一个函数执行 REST 服务调用以
我是一名优秀的程序员,十分优秀!