在iPhone/iOS的Safari浏览器中,使用Date.parse()时,日期字符串格式必须遵循ISO标准。如果使用了其他格式,则会返回NaN。因此,需要将日期字符串转换为ISO格式,然后再使用日期管道进行格式化。
使用moment.js库可以方便地处理日期。首先,将日期字符串转换为moment对象,然后使用ISO格式。然后,传递该对象到日期管道中进行格式化。
下面是一个示例:
在组件中引入moment.js库
import * as moment from 'moment';
将日期字符串转换为ISO格式:
let date = '2021-11-01'; //日期字符串 let momentDate = moment(date, 'YYYY-MM-DD'); //将日期字符串转换为moment对象 let isoDate = momentDate.toISOString(); //将moment对象转换为ISO格式
在HTML模板中使用日期管道:
{{ isoDate | date:'dd MMM yyyy' }} //将ISO格式的日期字符串传递到日期管道中进行格式化。
这样,在iPhone/iOS上格式化后,将不会显示NaN。