Javascript 如何将太平洋时间(可能是太平洋标准时间或太平洋标准时间)转换为UTC时间

Javascript 如何将太平洋时间(可能是太平洋标准时间或太平洋标准时间)转换为UTC时间,javascript,Javascript,我有一个太平洋时间,例如:2016-09-09 01:57:42。要将其转换为UTC时间,我使用 d = new Date('2016-09-09T01:57:42-0700') 但问题是PDT我必须使用-0800。那么,太平洋时间(可能是-0700或-0800)如何巧妙地转换为UTC时间呢?日期/时间是一场噩梦。使用为您执行此操作的现有库。这是一个流行的选择 var d = moment('2016-09-09T01:57:42-0700').tz('UTC'); 如果要将PST时区转换为

我有一个太平洋时间,例如:
2016-09-09 01:57:42
。要将其转换为UTC时间,我使用

d = new Date('2016-09-09T01:57:42-0700')

但问题是PDT我必须使用
-0800
。那么,太平洋时间(可能是
-0700
-0800
)如何巧妙地转换为UTC时间呢?

日期/时间是一场噩梦。使用为您执行此操作的现有库。这是一个流行的选择

var d = moment('2016-09-09T01:57:42-0700').tz('UTC');

如果要将PST时区转换为UTC,可以使用以下代码:

$date = new DateTime('2016-09-09 01:57:42');
$date->setTimezone(new DateTimeZone('UTC'));
echo "The UTC is " . $date->format('Y-m-d H:i:s') . "<br>";
$date=新的日期时间('2016-09-09 01:57:42');
$date->setTimezone(新的日期时区('UTC'));
呼应“UTC是”$日期->格式('Y-m-d H:i:s')。“
”;
您可以通过PHP在此处查看支持的时区列表:


让我知道它是否有效?

少数几个地方之一的“使用图书馆,不要自己做”是正确答案@whjm-规则很复杂,并且随着时间的推移而变化。不要滚动你自己。对于E.<代码> 201-0909 01:57∶42/代码>如果这是太平洋时间,它将工作。它怎么工作,因为你没有提供任何关于时区的信息?它会考虑你正在通过UTC时间。如果您没有UTC时间,您应该首先转换它。但它不知道时间
2016-09-09 01:57:42
所在的时区。也就是说,你如何告诉它时间是太平洋时间?如果你使用JavaScript,你应该访问以下链接: