Bu pakette bulunan sınıflar, zaman değerleriyle ilgili işlemler yapmak için daha pratik yöntemler sunar:
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.apache.commons.lang.time.StopWatch;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
public class TimeTrial {
public static void main(String[] args) {
//Tarihi dd-MM-yyyy biçiminde göster
System.out.println("1) dd-MM-yyyy >>>" +
DateFormatUtils.format(new Date(), "dd-MM-yyyy"));
//Tarihi SMTP_DATETIME_FORMAT biçiminde göster
System.out.println("2) SMTP_DATETIME_FORMAT >>>" +
DateFormatUtils.SMTP_DATETIME_FORMAT.format(new Date()));
//Tarihi ISO_DATE_FORMAT biçiminde göster
System.out.println("3) ISO_DATE_FORMAT >>>" +
DateFormatUtils.ISO_DATE_FORMAT.format(new Date()));
//Girilen milisaniye değerini tarih olarak göster
System.out.println("4) MMM dd yy HH:mm >>>" +
DateFormatUtils.format(System.currentTimeMillis(), "MMM dd yy HH:mm"));
//Girilen milisaniye değerini UTC biçiminde tarih olarak göster
System.out.println("5) MM/dd/yy HH:mm >>>" +
DateFormatUtils.formatUTC(System.currentTimeMillis(),
"MM/dd/yy HH:mm"));
StopWatch stWatch = new StopWatch();
//StopWatch'ı başlat
stWatch.start();
//Pazartesi'den başlamak üzere haftanın tüm günleri için iterator nesnesi al.
Iterator itr = DateUtils.iterator(new Date(),
DateUtils.RANGE_WEEK_MONDAY);
while (itr.hasNext()) {
Calendar gCal = (Calendar) itr.next();
System.out.println(gCal.getTime());
}
//StopWatch'ı sonlandır
stWatch.stop();
System.out.println("Time Taken >>" + stWatch.getTime());
}
}
Çıktısı:
1) dd-MM-yyyy >>>09-12-2003 2) SMTP_DATETIME_FORMAT >>>Tue, 09 Dec 2003 00:34:47 +0530 3) ISO_DATE_FORMAT >>>2003-12-09 4) MMM dd yy HH:mm >>>Dec 09 03 00:34 5) MM/dd/yy HH:mm >>>12/08/03 19:04 Mon Dec 08 00:00:00 GMT+05:30 2003 Tue Dec 09 00:00:00 GMT+05:30 2003 Wed Dec 10 00:00:00 GMT+05:30 2003 Thu Dec 11 00:00:00 GMT+05:30 2003 Fri Dec 12 00:00:00 GMT+05:30 2003 Sat Dec 13 00:00:00 GMT+05:30 2003 Sun Dec 14 00:00:00 GMT+05:30 2003 Time Taken >>31
Bu örneklerde tarih bilgisini biçimlendirmeye örnek vermek için SMTP_DATE_FORMAT ve ISO_DATE_FORMAT biçimleri kullanılmıştır. Bu ikisi dışında DateFormatUtils sınıfında 7 ayrı biçim daha vardır. Hiçbiri işinize yaramazsa kendi biçimlendirmenizi de tanımlayabilirsiniz.
StopWatch sınıfı da bir çeşit kronometre uygulamasıdır.
Kolay Gelsin.