如何解析通用字符串的日期?

时间:2013-09-28 21:47:33

标签: java json string date datetime

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

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:两者的组合)。时区可以忽略。如果缺少任何字段,则应使用以下默认值: •年份应设为1900。 •月份应为1月 •日期应为第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的解决方案来解决这个问题一无所知,有人帮助我。时间也是如此,即如果我有一个由日期和时间组合组成的通用字符串,我该如何转换这些字符串。

1 个答案:

答案 0 :(得分:0)

除非您对日期的编写方式(即格式)有特定的规则,否则无法将任意字符串转换为日期。原因是模糊不清。例如:

01/02/03

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

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