如何将字符串转换为忽略区域部分的日期?

How to convert string to date ignoring zone part?

由于日期的存储方式,我需要让它们与存储的完全一致,但区域让我很麻烦。

moment("2020-10-28T08:41:00.000Z").format("YYYY-MM-DD HH:mm") // Result: 2020-10-28 09:41

但是我需要得到这个没有区域的字符串日期的值,所以我剪掉了 000Z 部分:

moment("2020-10-28T08:41:00").format("YYYY-MM-DD HH:mm") // Result: 2020-10-28 08:41

这就是我需要的真正价值。
我想要得到的是一些更优雅的方法来完成从字符串到日期的转换,而不需要对 cutOffZone()?

如果您只需要字符串操作:

"2020-10-28T08:41:00.000Z".split(".")[0]

如果你使用moment.utc()构造函数,它将使用utc模式,所以时间不会转换为本地时间。从文档开始:

moment.utc(...) is utc mode. Ambiguous input is assumed to be UTC. Unambiguous input is adjusted to UTC.

// Use moment.utc() constructor...
const dt = new moment.utc("2020-10-28T08:41:00.000Z").format("YYYY-MM-DD HH:mm");
console.log(dt)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>