gpt4 book ai didi

javascript - moment.js 转换无效

转载 作者:行者123 更新时间:2023-11-29 21:21:40 24 4
gpt4 key购买 nike

我有一个输入字段,要求用户选择日期/时间本地机器将始终处于 GMT 或 BST,具体取决于一年中的时间。

对于那些不知道英国时间恶作剧的人:

GMT(格林威治标准时间)始终等于 UTC

BST(英国夏令时)在夏季为 GMT+1

用户输入的日期将存储在设置为 GMT 的数据库中,因此永远不会偏移时间。因此,我需要将用户输入的内容转换为 GMT/UTC。

但是我的转换导致返回相同的日期。

我做错了什么?

https://jsfiddle.net/r68owagL/

这是来自 jsFiddle 的代码

function log(obj) {
var html = "<table>"
for(var member in obj)
{
html += "<tr>"
+ "<td>" + member + ": </td>"
+ "<td>" + obj[member].format("YYYY-MM-DD HH:mm:ss") + "</td>"
+ "</tr>";
}
html += "</table>";
document.body.innerHTML = html;
}

var strDate = '2016-07-14 10:51:00';
var obj = {
n: moment(strDate), //Gives: 2016-07-14 10:51:00
u: moment.utc(strDate), //Gives: 2016-07-14 10:51:00
b: moment.tz(strDate, "Europe/London") //Gives: 2016-07-14 10:51:00
}

log(obj);

最佳答案

如果你删除格式字符串并像这样输出日期

 obj[member].format() 

然后就是这样输出

n:  2016-07-14T10:51:00+02:00
u: 2016-07-14T10:51:00+00:00
b: 2016-07-14T10:51:00+01:00

因此自定义格式字符串只输出日期而不考虑偏移量。为了将它们考虑在内,在像这样打印它们之前将其转换为 UTC

obj[member].utc().format("YYYY-MM-DD HH:mm:ss")

结果是

n:  2016-07-14 08:51:00
u: 2016-07-14 10:51:00
b: 2016-07-14 09:51:00

关于javascript - moment.js 转换无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38371617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com