Javascript 如何使用矩.js和矩-timezone.js将特定时区(非本地)的给定日期/时间转换为UTC

Javascript 如何使用矩.js和矩-timezone.js将特定时区(非本地)的给定日期/时间转换为UTC,javascript,jquery,Javascript,Jquery,我如何使用矩.js和矩时区.js将特定时区(非本地)的给定日期/时间转换为UTC 我使用: 当我想给moment()赋值时,我遇到了困难 让我向你解释事实: 我必须使用以下格式从单元格中获取日期/时间值:2014年10月15日09:25 AM(MM/DD/YYYY h:MM a)。此值不是常数,它是某些条目的打开时间。 我想用UTC转换这个字符串。不幸的是,字符串不是我的本地时间,它位于美国/洛杉矶(PDT/PST)时区。我还想自动处理PDT(3月9日,11月2日)和PST -10/15/201

我如何使用
矩.js
矩时区.js

将特定时区(非本地)的给定日期/时间转换为UTC 我使用:

当我想给
moment()
赋值时,我遇到了困难
让我向你解释事实:
我必须使用以下格式从单元格中获取日期/时间值:
2014年10月15日09:25 AM(MM/DD/YYYY h:MM a)
。此值不是常数,它是某些条目的打开时间。 我想用UTC转换这个字符串。不幸的是,字符串不是我的本地时间,它位于
美国/洛杉矶(PDT/PST)
时区。我还想自动处理
PDT(3月9日,11月2日)
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    
- 10/15/2014 09:25 AM Eastern European Time +03:00 => 10/15/2014 11:25 PM America/Los_Angeles +07: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 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    
- 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,您可以只提供日期字符串

用法:矩.tz(字符串、图案、区域线)

就你而言:

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'
如果省略格式化程序,则解析错误,但有一条不推荐使用的注释:

读这个来处理DST