java.lang.IllegalArgumentException : Invalid format: "2018-08-24T��:��:��" is malformed at "��:��:��"

标签 java jodatime

前端正在发送具有无效时间格式的日期,我收到此异常:

Caused by: java.lang.IllegalArgumentException: Invalid format: "2018-08-24T��:��:��" is malformed at "��:��:��" at org.joda.time.format.DateTimeParserBucket.doParseMillis(DateTimeParserBucket.java:187) at org.joda.time.format.DateTimeFormatter.parseMillis(DateTimeFormatter.java:826) at org.joda.time.convert.StringConverter.getInstantMillis(StringConverter.java:65) at org.joda.time.base.BaseDateTime.(BaseDateTime.java:173) at 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() 或正则表达式检查。如果是“4位破折号2位破折号2位数字”...那么你就得到了一个日期,并且可以手动创建相应的对象,并将时间值填写为全0。

关于java.lang.IllegalArgumentException : Invalid format: "2018-08-24T��:��:��" is malformed at "��:��:��",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52003881/

相关文章:

java - 逻辑问题 A 或 C(C 和 B)

java - Joda-Time ISO8601 标准 ISOPeriodFormat 无法解析小数部分

java : How to add days to Hijri date?

java - 如何在 Android 中获取儒略日(或类似日期)?

java - 将 ListView 放入 Horizo​​ntalScrollView 的最佳方法是什么?

java - ActionListener问题

java - 如何消除对 Java 枚举值的依赖?

java - 四元数的模型 View 矩阵

android - Java如何显示一个月中的星期几

java - 序列化 Joda DateTime 对象根据上下文创建不同的输出