2013-05-02 13 views
5

'u atar parseLocalDate için API, "ayrıştırma desteklenmiyorsa" UnsupportedOperationException kodunu atacağını belirtir. 'Ayrıştırma desteklenmiyorsa' ile ne anlama geliyor? Kaynağa bakıyorum ve UnsupportedOperationException'u atan herhangi bir yeri bulamıyorum. Bu istisnanın parseLocalDate numaralı telefondan aranmasına neden olan bir senaryoda hiç kimse bulunmadı mı?DateTimeFormatter.parseLocalDate, UnsupportedOperationException

cevap

5

DateTimeFormatter iki kullanım alanlarına sahip:

  • baskı tarihleri;
  • ayrıştırma tarihleri;

Eğer DateTimeFormatter instance oluşturmak, bunu DateTimePrinter ve DateTimeParser geçmektedir.

sizin biçimlendirici sadece yazıcıyı vardır ve tarihini ayrıştırmak istiyorsanız - UnsupportedOperationException atılacaktır.

sizin biçimlendirici sadece ayrıştırıcı vardır ve baskısını tarihini istiyorsanız - UnsupportedOperationException atılacaktır.

Örnek

DateTimeFormatter formatter = new DateTimeFormatter(new DateTimePrinter() 
    { 
    // implements all abstract methods   
    }, null); // this instance has printer and hasn't parser 
    formatter.print(new DateTime()); // works well 
    formatter.parseDateTime("datetimestring"); // throws exeption 
+0

Ah iyi bilmek, teşekkür ederim. 'Org.joda.time.format.DateTimeFormat.forPattern (String)' her zaman hem bir yazıcı hem de ayrıştırıcı ile bir 'DateTimeFormatter 'döndürecek gibi görünüyor; yani forPattern aracılığıyla bir 'DateTimeFormatter '' NeverupportedOperationException '' doğru bir şekilde atmamalı? – FGreg

+1

@FGreg evet, doğru – Ilya

+2

Ayrıca, iki benzer örnek yöntemi olduğunu unutmayın: 'ISODateTimeFormat.dateTime()' ve 'ISODateTimeFormat.dateTimeParser()'. Eğer ikincisini kullandıysanız ve '.format (dateTime)' i denerseniz, bu istisnayı alırsınız. – membersound

İlgili konular