如何在Apex中解析Lightning日期选择器传入的日期字符串?
Lightning日期选择器日期字符串的Apex正确解析方法
Lightning日期选择器默认传递的是ISO 8601标准格式的日期字符串(例如'2024-05-20'),而Date.parse()方法依赖当前用户的Locale设置解析日期,一旦Locale对应的格式和传入的ISO格式不匹配,就会触发“日期格式无效”的错误。
正确的做法是使用Date.valueOf()方法,它专门支持ISO 8601格式的日期字符串,解析过程不受Locale影响:
Date startDate = Date.valueOf(datefromlwc);
额外注意事项
- 若传递的是带时间的日期字符串(比如来自datetime选择器的
'2024-05-20T10:30:00Z'),可以先转换为DateTime再提取日期部分:DateTime dateTimeObj = DateTime.valueOf(datefromlwc.replace('T', ' ').replace('Z', '')); Date startDate = dateTimeObj.date(); - 确认LWC传递的字符串没有多余空格、特殊字符等格式问题,避免解析失败。
内容的提问来源于stack exchange,提问作者Hasan Zubairi
相关产品推荐
相关产品推荐

