Angular中DatePipe无法转换dd-mm-yyyy格式日期字符串的问题求助
Angular中DatePipe无法转换dd-mm-yyyy格式日期字符串的问题求助
我最近在Angular项目里遇到了DatePipe的使用问题,想请大家帮忙支招:
我的需求是在页面上把账单日期显示成MM/yy的格式(比如09/24),现在从API获取的账单数据里,日期字段bill_date的格式是*'dd-mm-yyyy'*,数据示例如下:
billDataList = [ {'id': 101, 'bill_date': '17-08-2024'}, {'id': 102, 'bill_date': '02-08-2024'}, {'id': 103, 'bill_date': '26-09-2024'} ];
我在HTML模板里用*ngFor循环渲染账单信息,代码写的是:
<ng-container *ngFor="let bill of billDataList"> <div class="bill-row-small"> <span>{{bill['id']}}: {{bill['bill_date'] | date:'MM/yy'}}</span> </div> </ng-container>
(注:原代码里有个语法小错误,我已经修正了{{bill['id']}}的闭合写法)
但运行后控制台抛出了错误:
InvalidPipeArgument: 'Unable to convert "28-09-2024" into a date' for pipe 'DatePipe'
我查了一下,猜测这是因为Angular的DatePipe默认只能识别符合标准格式的日期(比如默认的*'medium'*格式:MMM d, y, h:mm:ss a),没办法直接解析dd-mm-yyyy这种自定义格式的字符串。
想请教各位,我应该怎么配置或者处理,让DatePipe能正确识别dd-mm-yyyy格式的输入,最终输出我想要的MM/yy格式呢?
备注:内容来源于stack exchange,提问作者Charmi
相关产品推荐
相关产品推荐

