SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BlackmillMusic

    BlackmillMus

    3 Kasım 2010
  • Sali Kaceli

    Sali Kaceli

    24 ŞUBAT 2009
  • technodromeband's channel

    technodromeb

    28 NİSAN 2011

İLGİLİ SORU / CEVAPLAR