SimpleDateFormat 解析非日期字符串
SimpleDateFormat parsing a non date String
我在解析非日期字符串时遇到 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
此代码来自于测试字符串是否为日期,因为处理器也从 XML 接收日期字符串。
我的问题是我无法更改将字段作为字符串获取的行为,我还需要处理从中获取日期的问题。
有人知道如何解决这个问题吗?
最初的想法是捕获 ParseException 并将其作为非日期处理,但日文地址毁了它。 :-)
提前致谢
编辑:
我有另一个字符串,即使使用 setLenien(false)
也会导致问题。
String m_sColumnValue = "1-5-1 Ohtemachi, Chiyoda-Ku4";
有人有想法吗?
使用setLenient
验证输入日期String
oFormat.setLenient(false);
我在解析非日期字符串时遇到 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
此代码来自于测试字符串是否为日期,因为处理器也从 XML 接收日期字符串。 我的问题是我无法更改将字段作为字符串获取的行为,我还需要处理从中获取日期的问题。
有人知道如何解决这个问题吗?
最初的想法是捕获 ParseException 并将其作为非日期处理,但日文地址毁了它。 :-)
提前致谢
编辑:
我有另一个字符串,即使使用 setLenien(false)
也会导致问题。
String m_sColumnValue = "1-5-1 Ohtemachi, Chiyoda-Ku4";
有人有想法吗?
使用setLenient
验证输入日期String
oFormat.setLenient(false);