java - java.lang.IllegalArgumentException:无效格式:“2018-08-24T��:��:��”在“��:��:��”处格式错误
问题描述
前端正在发送具有无效时间格式的日期,我得到了这个异常:
引起:java.lang.IllegalArgumentException:无效格式:“2018-08-24T��:��:��”在 org.joda.time.format.DateTimeParserBucket 的“��:��:��”处格式错误.doParseMillis(DateTimeParserBucket.java:187) 在 org.joda.time.format.DateTimeFormatter.parseMillis(DateTimeFormatter.java:826) 在 org.joda.time.convert.StringConverter.getInstantMillis(StringConverter.java:65) 在 org. joda.time.base.BaseDateTime.(BaseDateTime.java:173) 在 org.joda.time.DateTime.(DateTime.java:257)
基本上我想检查时间戳是否有任何格式错误的数据。如果是,我想将其设置为 0。例如日期时间是2018-08-24T��:��:��
我想将其设置为2018-08-24T00:00:00
解决方案
你已经成功了一半。
try {
.. your code that parses the FED input
} catch ( IllegalArgumentException e) {
.. do further checking
含义:当您收到来自源的错误输入时,该异常已经给了您一个异常。在这种情况下,您可以对传入的字符串进行简单的 substring() 或正则表达式检查。如果它是“4digits dash 2 digits dash 2 digits”......那么你得到了一个日期,并且可以手动创建一个相应的对象,并将时间值填写为全0。
推荐阅读
- javascript - Chrome 72.0 自动完成禁用文本框不起作用
- javascript - 外部的替代函数变量
- r - 使用 R 合并具有相同值的行
- excel - 如何使用循环来求和类别?
- c++ - Boost Iostreams component() 调用失败
- c# - 如何处理asp.net中的textchange事件
- android-studio - 我无法更改英特尔 HAXM 设置
- c++ - 包括简单 C++ TensorFlow Lite 测试程序的特征在内的问题
- android - 我没有在我的应用程序中使用“android.permission.SEND_SMS”权限
- android - Android 联系人在后台同步