Angular HTML中如何将JSON返回的ddMMyyyy日期转为dd-MM-yyyy?
解决方案
问题原因
Angular的date管道仅支持Date对象或ISO 8601标准格式的日期字符串(如2024-05-20、2024-05-20T12:00:00),而你的birth_date是ddMMyyyy格式的纯数字字符串,管道无法识别为有效日期,因此格式化失效。
HTML内直接处理的两种方法
方法一:固定格式字符串截取拼接
由于你的日期是固定8位的ddMMyyyy格式,可直接通过字符串截取拆分后拼接成目标格式:
<td>{{ item.customer_info.birth_date.slice(0,2) }}-{{ item.customer_info.birth_date.slice(2,4) }}-{{ item.customer_info.birth_date.slice(4) }}</td>
方法二:带异常判断的处理
如果存在日期格式不规范(如长度不足8位)的情况,可添加判断逻辑避免错误显示:
<td> {{ item.customer_info.birth_date?.length === 8 ? `${item.customer_info.birth_date.slice(0,2)}-${item.customer_info.birth_date.slice(2,4)}-${item.customer_info.birth_date.slice(4)}` : item.customer_info.birth_date }} </td>
内容的提问来源于stack exchange,提问作者DexlonS
相关产品推荐
相关产品推荐

