0

我有以下形式的输入字符串数组 -

stringArray1 = {"Vidya", "Balan", "born", "1", "January","1978","is","an","Indian", "actress."}

stringArray2 = {"President", "Franklin", "D.", "Roosevelt","to","proclaim","December", "7,",            "1941,","'a","date","which", "will","live", "in","infamy'"}

stringArray3 = {"The", "Academy", "operated", "until","it","was","destroyed", "by", "Lucius",                               "Cornelius","Sulla","in", "84", "BC"}

我希望能够将以下规则应用于这些字符串数组:

任何出现的日期都应转换为 yyyymmdd 格式的日期和 HH:mm:ss 的时间戳(yyyymmdd HH:mm:ss 的组合)。时区可以忽略。如果缺少任何字段,则应使用以下默认值: • 年份应设置为 1900。 • 月份应为一月 • 日期应为 1 日 • 小时、分钟或秒应为 00。

因此,上述字符串的输出必须是:

stringOutput1 = { "Vidya", "Balan", "born","19780101","is","an", "Indian","actress." }

stringOutput2 = { "President", "Franklin", "D.","Roosevelt","to","proclaim", "19411207,",   "'a","date","which", "will", "live", "in", "infamy'"}

stringOutput3 = { "The", "Academy", "operated","until", "it", "was", "destroyed", "by","Lucius","Cornelius", "Sulla", "in","-00840101"}

我尝试为此使用 SimpleDateFormatter,但我认为 SimpleDateFormatter 在没有特定格式的情况下没有这样的功能,而且我实际上对如何找到一个纯 Java 的解决方案来解决这个问题一无所知,有人请帮助我。时间也是如此,也就是说,如果我有一个由日期和时间组合组成的通用字符串,我该如何转换这些字符串。

4

1 回答 1

0

除非您对日期的写入方式(即格式)有特定的规则,否则不可能将任意字符串转换为日期。其原因是模棱两可。例如:

01/02/03

格式yy/mm/dd为 2001 年 2 月 3 日(我们暂时忽略 1901 的可能性)。

格式mm/dd/yy为 2003 年 1 月 1 日。

等等。

于 2013-09-28T21:55:43.923 回答