如何将含糊的字符串解析成Date? [英] How to parse ambiguous String into Date?
本文介绍了如何将含糊的字符串解析成Date?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
该字符串可以是yyyyMMdd,yyyyMMddHHmm或yyyyMMddHHmmSS。
我试图找出一个将String解析成Date对象的简单方法。
目前,我正在查看String的长度,并根据长度创建一个DateParser。有没有更优雅的方式这样做?
解决方案
或者你可以用零填充你的字符串:
SimpleDateFormat sdf = new SimpleDateFormat(yyyyMMddHHmmSS){
@Override
public Date parse(String s)throws ParseException {
return super.parse((s +000000)。substring(0,14));
}
};
System.out.println(sdf.format(sdf.parse(20110711182405)));
System.out.println(sdf.format(sdf.parse(201107111824)));
System.out.println(sdf.format(sdf.parse(20110711)));
I'm trying to figure out a "simple" way of parsing a String into a Date Object.
The String can be either yyyyMMdd, yyyyMMddHHmm or yyyyMMddHHmmSS.
Currently, I'm looking at the length of the String, and creating a DateParser depending on the length. Is there a more elegant way of doing this?
解决方案
Or you can pad your string with zeros:
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmSS") {
@Override
public Date parse(String s) throws ParseException {
return super.parse((s + "000000").substring(0, 14));
}
};
System.out.println(sdf.format(sdf.parse("20110711182405")));
System.out.println(sdf.format(sdf.parse("201107111824")));
System.out.println(sdf.format(sdf.parse("20110711")));
这篇关于如何将含糊的字符串解析成Date?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文