在使用json获取数据时,经常会遇到日期的格式化问题。JSON中的日期格式通常为ISO 8601格式,例如:
{"date": "2022-08-05T10:15:30Z"}
需要将其格式化为我们熟悉的日期格式。在JavaScript中,我们可以使用Date对象将ISO 8601日期字符串转换为日期对象,然后再进行格式化操作:
const json = {"date": "2022-08-05T10:15:30Z"}; const dateStr = json.date; const dateObj = new Date(dateStr); const year = dateObj.getFullYear(); const month = dateObj.getMonth() + 1; const day = dateObj.getDate(); console.log(`${year}-${month}-${day}`); // 输出"2022-8-5"
上述代码中,我们首先获取JSON中的日期字符串,然后使用Date构造函数创建日期对象。接着,我们使用Date对象的方法获取年、月、日,并使用字符串模板将它们格式化为我们想要的日期格式。
需要注意的是,ISO 8601日期字符串中的“Z”代表UTC时间,如果需要使用本地时间,可以使用Date对象的toLocaleString()方法将日期对象格式化为本地时间:
const json = {"date": "2022-08-05T10:15:30Z"}; const dateStr = json.date; const dateObj = new Date(dateStr); const localeDateStr = dateObj.toLocaleString(); console.log(localeDateStr); // 输出本地时间字符串,例如"8/5/2022, 6:15:30 AM"
总之,在项目中遇到日期格式化问题时,可以先通过Date对象将ISO 8601日期字符串转换为日期对象,再使用Date对象提供的方法将日期对象格式化为我们需要的日期格式。