我有一个文件,其中第n列有一个日期。
像下面这样说(每列除以',')
1234,3-23,34,kjiio,20131015,AS
虽然我假设日期为“ YYYYMMDD”来解析此数据,但我可以获得良好的结果。
但是我的问题是日期不是唯一的,它具有以下格式,
2013-10-15
10152013
2013-10-15T00:00:00.000
因此,我的要求是使该文件中的所有记录都采用单一格式,或者是否有任何Java api取消采用任何格式的日期并给出我要求的格式。
谢谢!
最佳答案
如果可以通过时间戳记的位置标识时间戳,并且知道所有格式,则可以检查采用哪种格式:
String dateString = "...";
Date date;
if (dateString.contains("-")) {
if (dateString.contains(":")) {
// Format 1: YYYY-MM-DDTHH-mm.sss
date = parseFormatOne(dateString);
} else {
// Format 2: YYYY-MM-DD
date = parseFormatTwo(dateString);
}
} else {
// Format 3: DDMMYYYY
date = parseFormatThree(dateString);
}
然后,您可以a)将文件中的值替换为根据您的定义设置格式的值,或者b)简单地处理已解析的
Date
。