【发布时间】:2014-01-06 14:49:45
【问题描述】:
大家好,我有日期 "01.01.1000 AD"(SimpleDate) 作为字符串和 dd.MM.yyyy G(SimpleFormat),需要将其解析为 1995-12-31T23:59:59Z (yyyy-MM-dd'T'hh:mm:ss'Z') 形式的标准 ISO 日期
我的实际代码是:
public static String getISODate(String simpleDate, String simpleFormat, String isoFormat) throws ParseException {
Date date;
if (simpleFormat.equals("long")) {
date = new Date(Long.parseLong(simpleDate));
} else {
SimpleDateFormat df = new SimpleDateFormat(simpleFormat);
df.setTimeZone(TimeZone.getTimeZone("UTC"));
// or else testcase
// "1964-02-24" would
// result "1964-02-23"
date = df.parse(simpleDate);
}
return getISODate(date, isoFormat);
}
有人知道我该怎么做吗?
【问题讨论】:
-
01.01.1000 AD 指的是什么日历?
-
看看DateFormat,尤其是
parse和format方法。 -
对于公元 1000 年的日期,您必须考虑有趣的现象,例如 1582 年从儒略到格里高利的转变,以及一个地点在过去 1000 年。
-
String isoFormat在我的情况下为空
标签: java parsing date datetime