- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我尝试使用 moment.js 从 ISO 日期字符串中提取偏移量,以便稍后在格式化纪元时间戳时使用偏移量,以确保时间戳的转换在同一时区内。
即使字符串中的偏移量为-0400,结果始终为0;
var currentTime = "2015-03-18T16:10:00.001-0400";
var utcOffset = moment(currentTime).utcOffset(); // 0
我也尝试过使用 parseZone() 但没有成功。有没有办法从字符串中提取 -0400,以便我可以在下次格式化时使用它?
感谢您的帮助!KC
最佳答案
提取偏移量的正确方法确实是使用 parseZone
var currentTime = "2015-03-18T16:10:00.001-0400";
var utcOffset = moment.parseZone(currentTime).utcOffset();
这应该导致 -240
,这意味着比 UTC 晚 240 分钟,这与输入字符串中的 -0400
相同。如果你想要字符串形式,而不是 utcOffset()
你可以使用 .format('Z')
for "-04:00"
或 .format('ZZ')
用于 "-0400"
。
您在问题中提供的表格仅使用计算机的本地时区。因此,当前在您的时区(或代码运行的任何地方)是 UTC+00:00,这可以解释为什么您会得到零。您必须使用 parseZone
来保留输入字符串的偏移量。
此外 - 您的用例有点令人担忧。请记住,偏移量 与时区 不同。时区可以在不同的时间点更改其偏移量。许多时区这样做是为了适应夏令时。如果您从一个时间戳中选择一个偏移量并将其应用于另一个时间戳,则无法保证偏移量对于新时间戳是正确的。
例如,考虑美国东部时区,当夏令时于 2015 年 3 月 8 日生效时,它刚刚从 UTC-05:00 更改为 UTC-04:00。提供并将其应用于 3 月 1 日这一日期,您会将其置于大西洋时区而不是东部时区。
关于javascript - 使用 Moment.js 从 ISO 字符串中提取 utcOffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29130440/
我知道有时当您在时区之间转换时,Python 会对结果应该是什么感到困惑,因为时区很难。 from pandas import Timestamp string = "1900-01-01 00:00
令我惊讶的是 new Date().getTimezoneOffset() 返回与 moment().utcOffset() 相反的内容 示例: 时区 UTC +08:00 香港 JS:-480 时刻
我在这里做错了什么?在我输入当前时间作为 userPickedTime 后,我无法使其与当前 UTC 时间匹配。 userPickedTime = new Date(); userPickedTime
以下链接 http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html显示: "yyyy-MM-dd'T'HH:mm
我在尝试使用 moment.js 处理时间偏移时遇到了一些问题。 我在一个隐藏的输入中收集本地用户时间偏移量: $(document).ready(function () { $('in
首先,我希望这不是重复的。我读过很多类似的问题,但找不到与此特定问题相关的问题。 我有一个 javascript 日期选择器,它在内部使用 javascript 日期,这会产生意想不到的副作用。当我选
我知道这个问题的答案通常是“转到 Python's documentation”。我已阅读它,但仍不能 100% 确定 uctcoffset 方法的作用。 我假设它采用时区 - utc 并给出差异,但
我需要没有 utcOffset 的往返格式的 DateTime.Now 值。基于此 MSDN article如果您在没有 UtcOffset 的情况下创建 DateTime 的新实例,它会生成我想要的
我是 Django 的新手,如果问题的解释看起来很奇怪,我很抱歉。 我在 Django 项目中创建了一个博客应用程序。 models.py: from django.db import models
我正在尝试将文档从一个数据库增量复制到另一个数据库。 某些字段包含以下格式的日期时间值: 2016-09-22 00:00:00 而其他的则采用这种格式: 2016-09-27 09:03:08.98
我尝试使用 moment.js 从 ISO 日期字符串中提取偏移量,以便稍后在格式化纪元时间戳时使用偏移量,以确保时间戳的转换在同一时区内。 即使字符串中的偏移量为-0400,结果始终为0; var
我是一名优秀的程序员,十分优秀!