gpt4 book ai didi

javascript - 将 YYYYMMDDHHMMSS 格式的字符串转换为 JavaScript 日期对象

转载 作者:搜寻专家 更新时间:2023-11-01 04:46:15 25 4
gpt4 key购买 nike

我有一个带有日期的字符串,格式如下:YYYYMMDDHHMMSS。我想知道如何使用 JavaScript 将其转换为 JavaScript Date 对象。

提前致谢!

最佳答案

用一种古怪的方式来做这件事怎么样:

var date = new Date(myStr.replace(
/^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/,
'$4:$5:$6 $2/$3/$1'
));

零外部库,一行代码;-)


原方法说明:

// EDIT: this doesn't work! see below.
var date = Date.apply(
null,
myStr.match(/^(\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/).slice(1)
);

match()函数(经过slice() d 后恰好包含右边)将返回一个包含年、月、日、小时、分钟和秒的数组。这恰好是 Date 构造函数的正确顺序。 Function.apply是一种使用数组中的参数调用函数的方法,所以我使用了 Date.apply(<that array>) .

例如:

var foo = function(a, b, c) { };

// the following two snippets are functionally equivalent
foo('A', 'B', 'C')

var arr = ['A', 'B', 'C'];
foo.apply(null, arr);

我刚刚意识到这个函数实际上不起作用,因为 javascript 月份是零索引的。您仍然可以用类似的方法来完成它,但是会有一个中间步骤,在将数组传递给构造函数之前从数组中减去一个。我把它留在这里,因为它在评论中被问到。

但是,另一个选项按预期工作。

关于javascript - 将 YYYYMMDDHHMMSS 格式的字符串转换为 JavaScript 日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1833892/

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