如何在java for Solr中创建通用日期格式化程序?
发布时间:2020-12-14 05:53:02 所属栏目:Java 来源:网络整理
导读:我有一个要求,在将日期索引到Solr之前,可以使用以下格式传递日期.以下是传递日期的示例 String dateStr = "2012-05-23T00:00:00-0400";String dateStr1 = "May 24,2012 04:57:40 GMT";String dateStr2 = "2011-06-21"; 标准的Solr格式是“yyyy-MM-dd’T’HH
我有一个要求,在将日期索引到Solr之前,可以使用以下格式传递日期.以下是传递日期的示例
String dateStr = "2012-05-23T00:00:00-0400"; String dateStr1 = "May 24,2012 04:57:40 GMT"; String dateStr2 = "2011-06-21"; 标准的Solr格式是“yyyy-MM-dd’T’HH:mm:ss’Z’”. 我尝试过SimpleDateFormat,但是无法编写支持各种格式的通用程序.它最终会抛出解析异常. 我也尝试过joda时间,但到目前为止还没有成功进行UTC转换. public static String toUtcDate(final String iso8601) { DateTime dt = ISO_PARSE_FORMAT.parseDateTime(iso8601); DateTime utcDt = dt.withZone(ZONE_UTC); return utcDt.toString(ISO_PRINT_FORMAT); } 是否有标准库来实现这一目标? 任何指针将不胜感激. 谢谢 解决方法
我只是尝试各种格式,直到我受到欢迎:
public static String toUtcDate(String dateStr) { SimpleDateFormat out = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); // Add other parsing formats to try as you like: String[] dateFormats = {"yyyy-MM-dd","MMM dd,yyyy hh:mm:ss Z"}; for (String dateFormat : dateFormats) { try { return out.format(new SimpleDateFormat(dateFormat).parse(dateStr)); } catch (ParseException ignore) { } } throw new IllegalArgumentException("Invalid date: " + dateStr); } 我不知道有一个库可以做到这一点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |