我正在尝试使用date解析动态创建的日期格式。解析函数。但它在运行时在IE中显示“NaN”,在Chrome上运行良好。
这是我的示例代码,
var date = 2019 + '-' + 2 + '-' + 29;
Date.parse(date)
当我尝试直接使用Date时。解析(2019-2-29)其工作。
您应该提供格式正确的日期
日期。parse()方法解析日期的字符串表示形式,如果字符串无法识别或在某些情况下包含非法的日期值(例如2015-02-31),则返回自1970年1月1日、00:00:00 UTC或NaN以来的毫秒数。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
例如“1995年12月4日00:12:00 GMT”
您不应该在ES5环境中使用Date.parse
,因为它可能无法正常工作。但是,下面是一个示例,向您展示如何解决它(没有经过彻底测试,您可能需要调整它)。
var date = '2019-02-28T14:05:23';
function isoToMS (iso) {
var r = null;
if (Date.parse) {
r = Date.parse(iso);
}
if (!r || !Number.prototype.isPrototypeOf(r)) {
r = iso.split(/[\-T:]/g).reduce(function (d, partial, i) {
if (i < 1) { d.setFullYear(Number(partial)); }
else if (i < 2) { d.setMonth(Number(partial) - 1); }
else if (i < 3) { d.setDate(Number(partial)); }
else if (i < 4) { d.setHours(Number(partial)); }
else if (i < 5) { d.setMinutes(Number(partial)); }
else if (i < 6) { d.setSeconds(Number(partial)); }
return d;
}, new Date());
if (!/T\d+/g.test(iso)) {
// note: Date.parse converts ISO without time information to UTC
r.setMinutes(r.getMinutes() + r.getTimezoneOffset());
}
}
return +r;
}
console.log(isoToMS(date));
我有一个带有字符串的数组列表,我想在日期中转换它。在下面的代码中,似乎不能使用“parse”来完成此操作: 但那不起作用。 你能帮帮我吗?
嗨,我正在尝试以YYYY-MM-DD格式解析日期。我正在尝试这个: 但是我得到了错误,我想这是一个解析错误, 0001-01-01 00:00:00 0000 UTC解析时间“2016-01-1”为“2020-12-30”:无法将“-01-01”解析为“0” 我该如何解析它,或者通过其他示例给出一些提示?蒂亚。
我有一个需求,当我把日期从一种格式转换成另一种格式时,我可能会得到一个无法解析的日期异常。下面粘贴了该类的代码
我在用Java中的类解析日期格式时遇到了一些问题。 那么,对于这种日期格式类型()是否有任何日期格式化程序?
我装了这个 测试并返回true: 我发现SimpleDateFormat将日期转换为2021的3月1日,尽管2021的2月不是29日。如果我在2021-02-30中通过,这是无效的,但它返回正确的结果。
我有格式为“2020/02/25 23:58:08”的日期字符串。我想把它解析为‘2020-02-25’。 注意:最初的日期是字符串格式,转换后无论是日期格式还是字符串格式都无关紧要。 文件js公司 当我运行这个程序时,我得到了未捕获的引用错误:gi未定义,gi是全局替换