使用MomentJS设置指定格式日期并固定+0000时区偏移的问题
解决MomentJS生成固定UTC日期格式问题
直接创建UTC时区的Moment实例并指定目标日期时间,再按要求格式输出即可,既能固定日期时间值,又能保证偏移始终为+0000:
// 创建指定的UTC时间实例 const fixedUtcDate = moment.utc('2023-12-30T22:00:00.000'); // 按要求的格式生成字符串 const formattedDate = fixedUtcDate.format('YYYY-MM-DDTHH:mm:ss.SSSZZ');
这段代码会输出2023-12-30T22:00:00.000+0000,完全符合服务器的要求。
为什么之前的方法有问题
你之前的代码moment.utc(date).utcOffset(date.getTimezoneOffset())是在手动调整时区偏移,导致最终生成的日期带了本地时区的偏移(比如-0200)。而直接用moment.utc()传入目标时间字符串,会直接生成UTC时区的时间对象,格式时ZZ就会自动输出+0000,同时日期时间完全固定为你需要的值,不会被原有date变量的时区影响。
内容的提问来源于stack exchange,提问作者Hunter91151
相关产品推荐
相关产品推荐

