SimpleDateFormat解析非日期字符串

时间:2015-01-20 17:16:02

标签: java date simpledateformat

我遇到了SimpleDateFormat解析非日期字符串的问题。 这里使用的代码减少到最小:

public class TestAddressAgainstDate {
  public static void main(String[] args) throws ParseException {
    SimpleDateFormat oFormat = new SimpleDateFormat( "yyyy-MM-dd" );
    String m_sColumnValue = "3-21-1, Nihombashi Hama-Cho";
    Date oDate = oFormat.parse( m_sColumnValue  );
    System.out.println(oDate);
  }
}

输出如下:

  

Mon Sep 01 00:00:00 CET 4

这来自的代码是测试String是否是日期,因为处理器也从XML接收日期字符串。 我的问题是我无法改变将字段作为字符串获取的行为,我还需要处理从日期中获取日期。

任何人都知道如何解决这个问题?

最初的想法是捕获ParseException并将其作为日期处理,但日语地址毁了它。 : - )

提前致谢

修改

我有另一个字符串,即使使用setLenien(false)也会导致问题。

 String m_sColumnValue = "1-5-1 Ohtemachi, Chiyoda-Ku4";

任何想法?

1 个答案:

答案 0 :(得分:5)

使用setLenient验证输入日期String

oFormat.setLenient(false);