【发布时间】:2021-11-10 06:04:29
【问题描述】:
我有几个日期(字符串)要转换为日期对象。
const parse = (val, fmt) =>
{
if (!val)
return;
const fn = (str, len) => val.substr(fmt.indexOf(str), len);
return new Date(
fn('YYYY', 4),
fn('MM', 2) - 1,
fn('DD', 2)
);
};
console.log(parse('05/11/1896', 'DD/MM/YYYY')); // 1896-11-05
console.log(parse('07-12-2000', 'DD-MM-YYYY')); // 2000-12-07
console.log(parse('07:12:2000', 'DD:MM:YYYY')); // 2000-12-07
console.log(parse('2017/06/3', 'YYYY/MM/DD')); // 2017-06-03
console.log(parse('2017-06-15', 'YYYY-MM-DD')); // 2017-06-15
console.log(parse('2015 06 25', 'YYYY MM DD')); // 2015-06-25
mdy 一样短。这可以做到吗?
我也想支持没有前导零的月份或天数;所以5/5/2021 而不是05/05/2021。
谢谢。
【问题讨论】:
-
"可以这样做吗?" 是的,有很多解析器和格式化程序可供选择。写一个不是特别难,虽然有点乏味。你有编码问题吗?
标签: javascript date datetime type-conversion date-parsing