ReactJs中Date Object转换为Moment Object的方法问询
将JavaScript Date对象转换为Moment对象(React场景)
完全可行,Moment.js原生支持直接将Date对象转换为Moment实例,以下是具体实现步骤:
安装Moment.js(如果项目未安装):
在项目根目录执行命令:npm install moment # 或使用yarn yarn add moment在React组件中导入Moment:
import moment from 'moment';执行转换操作:
直接将你的Date对象传入moment()函数即可完成转换:// 示例中的Date对象 const targetDate = new Date('Wed Sep 21 2022 00:17 GMT+0800 (Malaysia Time)'); // 转换为Moment对象 const momentDate = moment(targetDate);
此时打印momentDate,你会得到符合预期的Moment对象结构:
Moment {_isAMomentObject: true, _i: Wed Sep 21 2022 00:17:00 GMT+0800 (Malaysia Time), _isUTC: false, _pf: {…}, _locale: Locale, …} _d: Wed Sep 21 2022 00:17:00 GMT+0800 (Malaysia Time) {} _i: Wed Sep 21 2022 00:17:00 GMT+0800 (Malaysia Time) {} _isAMomentObject: true _isUTC: false _isValid: true _locale: Locale {_calendar: {…}, _longDateFormat: {…}, _invalidDate: 'Invalid date', …} _pf: {empty: false, unusedTokens: Array(0), unusedInput: Array(0), …} [[Prototype]]: Object
额外说明
如果需要严格对应马来西亚时区(GMT+8)的时间处理,可以安装moment-timezone扩展包,使用时区指定转换:
npm install moment-timezone
然后在代码中:
import moment from 'moment-timezone'; const momentDate = moment(targetDate).tz('Asia/Kuala_Lumpur');
内容的提问来源于stack exchange,提问作者Fatt Sky
相关产品推荐
相关产品推荐

