[英]I need to convert UTC date and time based on the local timezone using moment.js, how to convert date from UTC to timezone in html
[英]How to convert a given date/time for a specific timezone (not local) to UTC using moment.js and moment-timezone.js
II如何使用moment.js
和moment-timezone.js
將特定時區(非本地)的給定日期/時間轉換為UTC
我用:
var s = moment("10/15/2014 09:25 AM").tz("America/Los_Angeles").format('hh:mm:ss a');
當我想給moment()
賦值時,我遇到了困難。
讓我向您解釋事實:
我必須從具有以下格式的單元格中獲取日期/時間值: 10/15/2014 09:25 AM (MM/DD/YYYY h:mm a)
。 該值不是一個常數,它是某些條目的打開時間。 我想在UTC中轉換此字符串。 不幸的是,該字符串不是我的本地時間,而是在America/Los_Angeles (PDT/PST)
時區。 我還要自動注意PDT(9 Mar, 2 Nov)
和PST
。
-10/15/2014 09:25 AM America/Los_Angeles -07:00 => 10/15/2014 04:25 PM UTC 00:00
-12/15/2014 09:25 AM America/Los_Angeles -08:00 => 12/15/2014 05:25 PM UTC 00:00
我怎樣才能做到這一點?
如果我使用:
Var s = moment("10/15/2014 09:37 PM").tz("America/Los_Angeles").format('hh:mm:ss a');
...將被解析為我的本地時間,並將其轉換為America/Los_Angeles
。
- 10/15/2014 09:25 AM Eastern European Time +03:00 => 10/15/2014 11:25 PM America/Los_Angeles +07:00
我認為對我的問題的簡短描述是這樣的:
-如何“告訴”腳本該字符串10/15/2014 09:37 AM
來自特定時區。 在此之后,轉換為UTC
就是小菜一碟。
謝謝。
要解析具有特定時區的日期字符串(UTC除外)時, 必須提供一種模式。 對於UTC,您只需提供日期字符串即可。
用法:moment.tz(字符串,模式,zoneString)
在您的情況下:
var moment = require("moment-timezone");
var d1 = moment.tz("10/15/2014 09:25 AM", "MM/DD//YYYY hh:mm A", "America/Los_Angeles");
d1.toString(); // Wed Oct 15 2014 09:25:00 GMT-0700
d1.tz("UTC").format('hh:mm:ss a'); // '04:25:00 pm'
如果省略格式化程序,則解析是錯誤的,但是有不建議使用的注釋: https : //github.com/moment/moment/issues/1407
閱讀此http://momentjs.com/timezone/docs/#/using-timezones/parsing-ambiguous-inputs/以處理DST
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.