2011-12-30 14 views
6

Java/Android'de baştaki sıfırları olmadan Ay'ı biçimlendirmenin bir yolu var mı?Android'de önde gelen sıfırlar olmadan ay

mTitleText.setText(String.format("Pick Date Time: %tm/%te/%tY %tk:%02d", 
       mTime,mTime,mTime,mTime,minute)); 

Ve bunu 2/12/2012 13:23 dönmek istediğinizde bunu 02/12/2012 13:23 verir:

ben hallederim.

+1

Öncelikli 0 bir alt dizeyle kesilemedi mi? Yoksa daha zarif bir çözüm ister misin? –

cevap

15

JavaDocs uzun:

Date mTime = new Date(); 
String text = new SimpleDateFormat("M/d/yyyy hh:mm").format(mTime); 

mümkünse sıfır koymadan ay ve ayın gününü hale getirecek M yerine MM yerine dd arasında d kullanma .

+5

Ayrıca, bir önceki saat sırasını kaldırmak için saatlerden birini "h" saatinden kaldırabilirsiniz. –

0

tl; dr

ZonedDateTime.now() 
      .format(DateTimeFormatter.ofPattern("M/d/uuuu HH:mm")) 

java.time

modern bir yoldur zahmetli eski eski tarih-saat sınıfları yerini java.time sınıflar ile olduğunu.

DateTimeFormatter sınıfında, tek karakter kodlarını ay ve/veya ay karakterleri yerine çift karakter kodları yerine kullanarak tanımlayın.

DateTimeFormatter f = DateTimeFormatter.ofPattern("M/d/uuuu HH:mm"); 

Geçerli anı yakalayın.

ZoneId z = ZoneId.of("America/Montreal"); 
ZonedDateTime zdt = ZonedDateTime.now(z); 

Dize oluşturma. java.time

Hakkında

String output = zdt.format(f) 

java.time çerçeve daha sonra Java 8 ve yerleşiktir. Bu sınıflar, java.util.Date, .Calendar, & java.text.SimpleDateFormat gibi zahmetli eski tarih-saat sınıflarını tamamlar.

Joda-Time proje, şimdi maintenance mode yılında, java.time geçişi öneriyor. Daha fazla bilgi için

, Oracle Tutorial bkz. Ve birçok örnek ve açıklamalar için Stack Overflow'u arayın. java.time işlevselliği çok

ThreeTen-Backport Java 6 & 7 geri portlu ve ayrıca (How to use… bakınız) ThreeTenABP içinde Android şekilde uyarlanmıştır.

ThreeTen-Extra proje ek sınıfları ile java.time uzanır. Bu proje java.time için gelecekteki olası eklemeler için kanıtlanmış bir zemin.Burada Interval, YearWeek, YearQuarter ve more gibi bazı yararlı sınıflar bulabilirsiniz.

İlgili konular