gpt4 book ai didi

javascript - 在javascript中转换字符串日期

转载 作者:行者123 更新时间:2023-12-02 14:08:20 25 4
gpt4 key购买 nike

大家好,我一直在使用 CSV 文件,其中一些包含日期,现在我想将它们存储在数据库中,但我遇到了一个问题。

我有一个这样的日期:2016 年 2 月 10 日我是这样的:10-02-2016

但到目前为止,我一直在尝试使用 date.parse 函数,它给出了一些不同的东西,这是我尝试使用的代码

var d = '13-jan-2016';
var e = Date.parse('13-jan-2016')
var m = new Date( e).toISOString()
console.log(m)

我也尝试过使用 split 函数,但仍然有一些数字我不明白为什么它们在那里,或者我对 javascript 中的 parse() 函数缺乏理解

最佳答案

您可以使用日期库,例如深受喜爱的 MomentJS ,或者也许只是编写一两个简单的函数来自己处理它,如下所示:

function zeroPad(v) {
return v >= 10 ? v : "0" + v;
}

function formatDate(s) {
var d = new Date(Date.parse('13-jan-2016'));
return zeroPad(d.getDate()) + "-" + zeroPad(d.getMonth() + 1) + "-" + d.getFullYear();
}

console.log(formatDate('13-jan-2016')); // '13-01-2016'

...除了 Jaromanda X 指出的 Date.parse() 在某些(大多数)浏览器中无法可靠地处理该特定格式(尽管它在 Chrome 中对我来说工作得很好)。鉴于您似乎并未实际使用日期作为日期,您只是将其从一种已知格式转换为另一种格式,您可以执行类似以下操作,即使在 IE <9 等较旧的浏览器中也可以使用根本不支持 Date.parse():

function formatDate(s) {
var months = { 'jan': '01', 'feb': '02', 'mar': '03', 'apr': '04', 'may': '05', 'jun': '06', 'jul': '07', 'aug': '08', 'sep': '09', 'oct': '10', 'nov': '11', 'dec': '12' };
return s.replace(/[a-z]{3}/i, function(m) { return months[m.toLowerCase()]; });
}

console.log(formatDate('13-jan-2016')); //
console.log(formatDate('02-apr-2016')); //
console.log(formatDate('25-DEC-2016')); //

关于javascript - 在javascript中转换字符串日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39864745/

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