date = moment(startDate).startOf('day');
date.format('2019-01-01't)
以上代码将UTC日期转换为本地日期。如何保持UTC日期为UTC?
startDate是ISO格式的日期时间字符串
答案 0 :(得分:1)
来自moment docs:
默认情况下,时刻会解析并以当地时间显示。
如果要解析或显示UTC时间,可以使用
moment.utc()
而不是moment()
。
因此,即使您的日期字符串是UTC,并且moment正确地解析了日期,它仍然会以本地时间显示输出,除非您使用moment.utc()
。要在utc中显示:
const s = '2019-03-08T14:59:40Z';
const date = moment.utc(s).startOf('day').format();
console.log(date);
// 2019-03-08T00:00:00Z
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>