如何使用Moment.js提取第一个对象的日期与第二个对象的时间合并?
最优解决方案
直接通过moment提供的字段读写方法操作对象,避免字符串拼接可能带来的格式适配、时区计算异常问题,实现代码如下:
// 第一个存目标日期的moment对象命名为 dateMoment,第二个存目标时间的命名为 timeMoment const mergedMoment = dateMoment.clone() // 克隆原日期对象,避免修改原始数据 .set({ hour: timeMoment.hour(), minute: timeMoment.minute(), second: timeMoment.second(), millisecond: timeMoment.millisecond() })
- 不需要保留原始日期对象的话可以省略
clone()调用 - 该方案会自动适配夏令时、固定时区偏移等边界场景,稳定性远高于字符串拼接方案
- 你提供的示例场景下,执行
mergedMoment.toString()即可得到预期输出Thu Jun 28 2021 16:42:50 GMT-0400
内容的提问来源于stack exchange,提问作者IWI
相关产品推荐
相关产品推荐

