【发布时间】:2014-06-25 01:58:22
【问题描述】:
我目前在我的应用程序中使用joda dateTime Api。我正在使用以下代码将多种格式的日期解析为一种格式。尽管格式没有年份,但我遇到了麻烦。目前它将年份设置为“2000”。
如果缺少年份,有没有办法将年份设置为默认值?
private static final DateTimeParser[] parsers = {
DateTimeFormat.forPattern("dd/MMM/yyyy:HH:mm:ss Z").getParser(),
DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").getParser(),
DateTimeFormat.forPattern("[dd/MMM/yyyy:HH:mm:ss Z]").getParser(),
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ").getParser(),
DateTimeFormat.forPattern("MMM-dd HH:mm:ss,SSS").getParser()
};
public static DateTime ConvertDate(String timestamp) {
DateTimeFormatter formatter = new DateTimeFormatterBuilder().append(null, parsers).toFormatter();
DateTime date = formatter.parseDateTime(timestamp);
return date;
}
示例:
Mar-07 13:59:13,219
变成
2000-03-07T12:59:13.219-07:00
我想要什么:
示例:
Mar-07 13:59:13,219
变成
(currentyear)-03-07T12:59:13.219-07:00
【问题讨论】: