我有一个第n列有日期的文件。 如下所示(每列除以',')
1234,3-23,34,kjiio,20131015,AS
虽然我假设日期是'YYYYMMDD'解析这些数据,但我能够获得良好的结果。 但我的问题是日期不是唯一的,它有以下格式,
2013-10-15
10152013
2013-10-15T00:00:00.000
所以我的要求是让该文件中的所有记录都采用单一格式,或者是否存在任何格式为aboce的java api,并以我要求的格式提供。
谢谢!
答案 0 :(得分:1)
如果您可以通过其位置识别时间戳,并且您知道所有格式,则可以检查适用的格式:
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
。
答案 1 :(得分:0)
如果您知道它是哪一列,您可以使用分隔符拆分字符串并从生成的arraylist中获取第n个条目,否则您将不得不使用RegEx来查找它。
至于同质化:如果他们编写的方式数量有限(例如,如果只有3种方式),你可能只想自己解析它们。