22 Temmuz 2010, PERŞEMBE
Joda kullanarak Tarih Ve Saat birden biçimi ayrıştırmak için API
Üçüncü taraf günlük dosyaları tarih/saat içeren Joda kullanarak ayrıştırma ediyorum. Tarih/saat iki farklı biçimleri, ayrıştırma ediyorum günlük dosyaları yaşına bağlı olarak.
Şu anda bu kod var:
try {
return DateTimeFormat.forPattern("yyyy/MM/dd HH:mm:ss").parseDateTime(datePart);
} catch (IllegalArgumentException e) {
return DateTimeFormat.forPattern("E, MMM dd, yyyy HH:mm").parseDateTime(datePart);
}
Bu çalışıyor ama Etkili Java 2 Sürüm (Madde 57: olağanüstü koşullar sadece özel durumlar için Kullanın), Joshua Bloch tavsiyesine aykırı. Ayrıca zor bir Sınıftır, bir günlük dosyası saat/berbat bir tarih nedeniyle oluşur olup olmadığını belirlemek için yapar.
Yanlış istisnalar yok bu daha güzel bir yaklaşım önerir misiniz?
CEVAP
2 Aralık 2010, PERŞEMBE
Birden fazla ayrıştırıcıları oluşturmak ve DateTimeFormatterBuilder.append yöntemi kullanarak: oluşturucu ekleyebilirsiniz
DateTimeParser[] parsers = {
DateTimeFormat.forPattern( "yyyy-MM-dd HH" ).getParser(),
DateTimeFormat.forPattern( "yyyy-MM-dd" ).getParser() };
DateTimeFormatter formatter = new DateTimeFormatterBuilder().append( null, parsers ).toFormatter();
DateTime date1 = formatter.parseDateTime( "2010-01-01" );
DateTime date2 = formatter.parseDateTime( "2010-01-01 01" );
Bunu Paylaş:
Bir XML dosyasında Tarih/Saat kullanma...
Nasıl LocalDateTime/biçimi tarih ayrış...
Nasıl PHP kullanarak iki tarih arasınd...
Nasıl JavaScript bir tarih biçimi için...
Nasıl Python 8601 biçimlendirilmiş bir...