MomentJS 解析日期适用于两个日期,但显示 'Invalid Date' 第三个
MomentJS parsing date works with two dates but shows 'Invalid Date' for the third
我已经从 SO 中的帖子中尝试了至少 50 个解决方案,但似乎没有任何效果。我有三个日期:
Date 1: 2018-10-28T17:21:38Z
Date 2: 2020-10-28T22:29:30Z
Date 3: 2021-10-28T17:21:38Z
正在尝试将其解析为可读的内容。日期 1 和日期 2 完美运行,但日期 3 显示 Invalid Date
.
Date 1: Sun Oct 28 2018 23:21:38 GMT+0600
Date 2: Thu Oct 29 2020 04:29:30 GMT+0600
Date 3: Invalid Date
还在终端中抛出弃用警告:
Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments:
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: 2021-10-28T17:21:38Z , _f: undefined, _strict: undefined, _locale: [object Object]
这是代码:
const date1 = moment('2018-10-28T17:21:38Z').toString();
console.log(date1);
const date2 = moment('2020-10-28T22:29:30Z').toString();
console.log(date2);
const date3 = moment('2021-10-28T17:21:38Z').toString();
console.log(date3);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
发生这种情况是因为日期 3 是未来的日期吗?任何帮助将不胜感激。谢谢
也为我工作。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Test Moment</title>
<meta name="description" content="Moment Test" />
<meta name="author" content="Test" />
</head>
<body>
Hi
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script>
const date1 = moment("2018-10-28T17:21:38Z").toString(); // Sun Oct 28 2018 20:51:38 GMT+0330
console.log(date1);
const date2 = moment("2020-10-28T22:29:30Z").toString(); // Thu Oct 29 2020 01:59:30 GMT+0330
console.log(date2);
const date3 = moment("2021-10-28T17:21:38Z").toString(); // Thu Oct 28 2021 20:51:38 GMT+0330
console.log(date3);
</script>
</body>
</html>
更新您的 moment 模块,或者您需要将格式放入 moment 构造函数中...
const moment = require('moment');
let oldDate = "2021-10-28T17:21:38Z";
let newDate = moment(oldDate, "YYYY-MM-DD HH:mm:ss")
let strNewDate = moment(oldDate, "YYYY-MM-DD HH:mm:ss").toString()
console.log(newDate)
console.log(strNewDate )
我已经从 SO 中的帖子中尝试了至少 50 个解决方案,但似乎没有任何效果。我有三个日期:
Date 1: 2018-10-28T17:21:38Z
Date 2: 2020-10-28T22:29:30Z
Date 3: 2021-10-28T17:21:38Z
正在尝试将其解析为可读的内容。日期 1 和日期 2 完美运行,但日期 3 显示 Invalid Date
.
Date 1: Sun Oct 28 2018 23:21:38 GMT+0600
Date 2: Thu Oct 29 2020 04:29:30 GMT+0600
Date 3: Invalid Date
还在终端中抛出弃用警告:
Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments:
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: 2021-10-28T17:21:38Z , _f: undefined, _strict: undefined, _locale: [object Object]
这是代码:
const date1 = moment('2018-10-28T17:21:38Z').toString();
console.log(date1);
const date2 = moment('2020-10-28T22:29:30Z').toString();
console.log(date2);
const date3 = moment('2021-10-28T17:21:38Z').toString();
console.log(date3);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
发生这种情况是因为日期 3 是未来的日期吗?任何帮助将不胜感激。谢谢
也为我工作。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Test Moment</title>
<meta name="description" content="Moment Test" />
<meta name="author" content="Test" />
</head>
<body>
Hi
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script>
const date1 = moment("2018-10-28T17:21:38Z").toString(); // Sun Oct 28 2018 20:51:38 GMT+0330
console.log(date1);
const date2 = moment("2020-10-28T22:29:30Z").toString(); // Thu Oct 29 2020 01:59:30 GMT+0330
console.log(date2);
const date3 = moment("2021-10-28T17:21:38Z").toString(); // Thu Oct 28 2021 20:51:38 GMT+0330
console.log(date3);
</script>
</body>
</html>
更新您的 moment 模块,或者您需要将格式放入 moment 构造函数中...
const moment = require('moment');
let oldDate = "2021-10-28T17:21:38Z";
let newDate = moment(oldDate, "YYYY-MM-DD HH:mm:ss")
let strNewDate = moment(oldDate, "YYYY-MM-DD HH:mm:ss").toString()
console.log(newDate)
console.log(strNewDate )