考虑以下日期字符串
2012-10-01 01:02:03.004+0500
这在 Java 中使用以下SimpleDateFormat
模式识别:
yyyy-MM-dd HH:mm:ss.SSSZ
但是,如果上面的时区信息被截断为 2 位数字,即像
2012-10-01 01:02:03.004+05
日期字符串不符合任何有效格式,因此没有SimpleDateFormat
可用于正确解析它的模式。
是否有任何解决方法可以在不进行字符串预处理的情况下正确解析截断的时区?
如果不是,哪个正则表达式最适合在 1 轮中对大量此类日期字符串进行预处理,例如使用调用,如在这个类似的问题中?replaceFirst()