是否可以从 joda-time DateTimeFormatter 获取模式字符串?
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyyMMdd");
String originalPattern = formatter. ???
Joda Time 不提供从 DateTimeFormatter 获取原始模式的方法。原因之一可能是 DateTimeFormatter 不一定是根据模式创建的;例如DateTimeFormat.forStyle()
根本不使用模式。
但是,如果您总是使用模式,那么您可以将DateTimeFormat
类来记录模式时DateTimeFormatter
被构建。这样您以后就可以使用简单的静态方法来查找它。例如:
public class ReversableDateTimeFormat {
private static final Map<DateTimeFormatter, String> patternHistory = new HashMap<DateTimeFormatter, String>();
public static DateTimeFormatter forPattern(String pattern) {
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern(pattern);
patternHistory.put(dateTimeFormatter, pattern);
return dateTimeFormatter;
}
public static String getPattern(DateTimeFormatter dateTimeFormatter) {
return patternHistory.get(dateTimeFormatter);
}
}
然后你可以这样做:
DateTimeFormatter formatter = ReversableDateTimeFormat.forPattern("yyyyMMdd");
String originalPattern = ReverseableDateTimeFormat.getPattern(formatter);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)