gpt4 book ai didi

javascript - 如何防止 javascript 将我的日期转换为 GMT?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:43:28 26 4
gpt4 key购买 nike

我有一个时间戳

timestamp = 2015-02-22T10:00:00.000Z

为什么我这样做时它会转换为 GMT

var dt = new Date(timestamp);
console.log('dt = ' + dt); // prints Sun Feb 22 2015 05:00:00 GMT-0500 (EST)

我不希望它将我的日期转换为 GMT。如何防止 javascript 转换我的日期?

最佳答案

当您尝试执行 dt = ' + dt 时,Javascript 会尝试将 dt 对象转换为字符串,以便将其添加到另一个字符串。它通过调用 dt.toString() 方法来实现,您看到的格式是日期对象的默认字符串转换。

仅供引用,默认格式如下所示:

Fri Mar 06 2015 19:24:42 GMT-0800 (Pacific Standard Time)

不是 GMT 时间。显示的时间值为本地时间。它向您显示本地时间是格林威治标准时间的 -0800 小时,但时间本身以本地时间表示。

chop 最后一部分并显示的情况并不少见:

Fri Mar 06 2015 19:24:42

可以这样做:

console.log('dt = ' + dt.toString().replace(/\sGMT.*$/, ""));

工作演示:http://jsfiddle.net/jfriend00/hg5m0r1r/


如果你想显示不同的东西,那么你应该自己构造你想要的字符串表示,而不是让系统自动调用 .toString()。您可以查看可用的 Date 对象方法并决定要显示的内容。 Date 对象在内部是自纪元时间以来的毫秒数,因此任何字符串表示都是某种类型的转换。你必须告诉它你想要什么转换。

您可以看到许多日期方法的列表 here .

关于javascript - 如何防止 javascript 将我的日期转换为 GMT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28910995/

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