问题标签 [moment-timezone]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - moment-timezone.js 转换错误
我正在尝试从一个时区转换为另一个(手动)获取一个 Date 对象并通过此函数返回另一个:
一个例子是:
- 日期日期 = 2018 年 8 月 17 日星期五 14:36:25 GMT+0200 (hora de verano de Europa central)
- Moment sourceMoment = "2018-08-17 14:36" Moment
- localMoment = "2018-08-17T13:36:00"
为什么墨西哥 -> 里斯本只提前一小时?据我所知,localmoment 应该是“2018-08-17T20:36:00”。
我究竟做错了什么?这似乎适用于欧洲/里斯本到欧洲/马德里,但我不知道为什么。
谢谢。
解决方案:
javascript - 世界时钟未使用 Moment.js 更新
我是 moment.js 和 timezone 插件的新手。希望这不是一个重复的问题,但我似乎在使用 moment.js 和 moment-timezone.js 的世界时钟方面遇到了一些问题,我试图在一个也使用 highcharts 的页面上制作。我正在使用 CodePen 和本地 IDE,并且似乎使用相同的代码遇到了两个不同的错误。说到这里,这里是有问题的代码:
这是jQuery:
可能并不重要,我知道它有一些重叠的问题,但这里是 css:
在 Chrome 开发人员工具上,我得到了一个moment(...).tz is not a function
,而在 CodePen 上,我使用了http://momentjs.com/timezone/"Moment Timezone has no data for Europe/London. See http://momentjs.com/timezone/docs/#/data-loading/."
上的地图来实际使用该位置,所以它没有真正的意义。在实际应用程序中,英国时钟根本不动。这是codepen的链接:https ://codepen.io/gabedesigns/pen/GXZPqg?editors=1111
谢谢!
javascript - 检查日期是否已经用时刻解析
我正在传递一个日期字符串,需要用moment
. 问题是在某些情况下它会被解析两次,这会导致它变成undefined
.
这是代码当前的样子:
当我第二次解析它时,我得到:
moment.invalid(/* 2018-09-21T05:00:00.000Z */)
这导致当我做toDate()
成为undefined
.
虽然第一次我会得到我所期望的:
'2019-02-01T05:00:00.000Z'
在做任何这些之前,我想检查它是否已经符合我期望的格式。我该怎么做呢?
javascript - 从本地时区的毫秒数创建 moment.js 日期
我从服务器得到的响应是“本地”时间戳。这意味着我的本地时间表示为 UTC 毫秒,但没有 UTC 偏移量。
例如:1537747200000
is Mon Sep 24 2018 00:00:00 UTC
Mon Sep 24 2018 03:00:00 EEST (my local time)
,但在我的上下文中,这个日期实际上是Mon Sep 24 2018 00:00:00 EEST
,所以 utc 值与我的时区。
如果需要,我现在想使用 moment 和 moment-timezone 来显示它。
所以我想知道的是如何创建一个新的时刻对象,"LOCAL milliseconds"?
这样我会在需要时传递 1537747200000 和我的本地时区,我可以将它显示为Mon Sep 24 2018 00:00:00 EEST
我发现使用 moment timezone + utcOffset 可以解决问题,但我真的不知道这是否是一个好方法。UTC 偏移量文档是这样说的:
通过提供分钟设置 UTC 偏移量。请注意,一旦您设置了偏移量,它就是固定的并且不会自行更改(即没有 DST 规则)。如果您想要一个实际的时区 - 特定位置的时间,例如 America/Los_Angeles,请考虑 moment-timezone。
另一种方法是将时刻格式化为 ISOString moment(1537747200000).toISOString()
,然后解析结果字符串,而不需要时区信息('z')。解析字符串时,可以在另一个时区解析它。moment.tz(moment(1537747200000).toISOString().slice(0, -1), tz)
. 但这需要我解析->格式->解析值,所以是很多额外的操作。
javascript - 使用时刻时区 js 将日期字符串转换为带有时区的日期
我需要将日期字符串转换为 PDT(太平洋夏令时间),并且必须以本地时间显示结果日期时间。
我试过了
当我运行上面的代码时,它显示
这不是当地时间。其等效的当地时间必须不同。如何获取指定日期字符串的本地时间。
换句话说,我的意思是这样说https://forums.asp.net/t/1552114.aspx?Convert+Datetime+String+from+PDT+to+IST+local+time+datetime+string
momentjs - moment tz 转换字符串
这应该很简单,但我花了几个小时查看文档,但仍然一无所获。我有这个字符串:
这次是 UTC,尽管它没有这么说,但我知道它是。
我想用 .tz 将其转换为 PST (America/Los_Angeles)
我试过了:
我收到“2018 年 9 月 29 日 23:50”
我尝试了许多以不同方式失败的不同组合。
我希望能够打印“2018 年 9 月 29 日,16:50”,它time
以 utc 转换为 pst。
我错过了什么?
momentjs - 使用 moment-timezone 获得跨时区的时差
我得到一个代表时间的字符串和一个时区 ID。我需要确定有问题的时间是否发生在接下来的半小时内,但我正在运行的计算机与捕获字符串的时区不同。小注:如果事件发生在过去,没关系(仍然发生 === true)。只是试图将未来半小时以上发生的事情与其他事情区分开来。
这似乎应该是直截了当的,但我无处可去。
在“美国/洛杉矶”时区运行。我的“本地”是为了代表纽约时间。所以,16:39 是 的输入值then
,我希望比较大约在那个时间(哦,我在开发人员本地时间大约 13:20 运行它)。所以,基本上,在上面的代码中,我想比较 16:39 和 16:20,大苹果到大苹果。我不想闯入这个;我想要一个我理解的解决方案。谢谢!
javascript - 如何使用流星 npm 解决时刻时区导入问题
我试图在我的流星应用程序中使用 moment-timezone npm 包无济于事。如果我使用大气包,一切都运行得很好。但是,我想让 npm 包运行,因为不再维持气氛。在尝试通过 npm 运行之前,我已经从应用程序中完全删除了大气包。
当我运行meteor npm list --tree
时,moment-timezone 包及其依赖项出现在底部:
并meteor npm install
给出:
在我使用时刻时区的文件中,我有
但是javascript控制台显示它在导入时刻和时刻时区时都失败了:
在控制台错误之后,两个单独文件中的这两行以红色突出显示
因此,在我看来,它无法解析这些软件包,但似乎它们已正确安装,并且 meteor npm install 运行良好。
该应用程序是流星1.8
我没有想法 - 任何帮助将不胜感激!
干杯
javascript - 如何根据新时区转换javascript日期
我以为我能解决这个问题,但我无法解决。
场景:
1)用户选择一个日期小部件,该小部件在本地时区传回一个日期,比如说上午 10 点“澳大利亚/悉尼”
2)然后用户选择一个不同的时区,通过标识符'澳大利亚/布里斯班'(这是一个不同的TZ,可能有夏令时等......)让我们假设它的+1小时
我想要做的是有一个函数,它接受一个代表 [10am 'Australia/Sydney'] 的 Date 对象并向我返回一个代表 [10am 'Australia/Brisbane] 的新日期,即基础 UTC 时间将移动 +1hr
我一直在纠结时刻时区,我无法让它做我想做的事。
highcharts - 如果标签与 x 轴不匹配,如何在 Highcharts 中正确绘制 UTC 数据?
我有一系列需要使用 Highcharts 绘制的数据点(UTC 日期和值),默认情况下使用 UTC。但是,数据可以位于不同的用户时区,因此在此示例中,我将其设置为纽约。我注意到,即使我的每个数据点上的工具提示都是正确的,例如 10/26 的工具提示,其中一些似乎绘制在对应于 10/27 的绘图部分中。我希望在 10/17 标记之前绘制 10/26 的所有 9 个数据点。有人在我的代码中看到问题吗?我创建了一个 JSFIFFLE 来清楚地说明这个问题。
http://jsfiddle.net/thehme/a47Lbnwr/25/
注意:在我的实际代码中,我注意到有时当我第一次加载绘图时,大部分时间 3 个数据点都在 10/27 插槽中,但如果我重新加载绘图,有时数据点会移动到10/16 日期范围。这就是使这更加混乱的原因。