Merhaba bugün java ile sistemin tarih ve saat bilgilerini alıp, bu bilgiler üzerinde işlem yapmayı ve uygun formata dönüştürmeyi anlatacağım. Java’da tarih ve saat işlemlerini gerçekleştirmek için Date, Calender ve GregorianCalender sınıfları bulunmaktadır. Birden fazla sınıf benzer işlemleri yapabildiği için, java ile yeni tanışanların aklının karışması normaldir. Size hangi sınıfı kullanmak kolay geliyorsa onu kullanmanızı tavsiye ederim.
Öncelikle kullanacağımız sınıflara bir göz atalım. Date sınıfı, javanın gelişim süreci içerisinde birçok işlevini Calender sınıfına devretmiştir. Eğer zamanı yıl, ay, gün, saat, dakika ve saniye cinsinden bileşenlere ayırmak istiyorsanız Calender sınıfını ya da bu sınıfın alt sınıfı olan GregorianCalender sınıfını kullanmalısınız. Ayrıca tarih ve saat bilgilerini istediğimiz formatta görüntülemek için SimpleDateFormat sınıfı oldukça kullanışlıdır.
Öncelikle tarih ve saat işlemleri yaparken kullanacağımız yukarıda bahsettiğimiz sınıfları import edelim.
1 2 3 4 |
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; |
Bugünün tarihini, Date sınıfını kullanarak gün/ay/yıl şeklinde ekranda gösterme
1 2 3 |
SimpleDateFormatbicim=new SimpleDateFormat("dd/M/yyyy"); Date tarih=new Date(); System.out.println(bicim.format(tarih)); // 24/8/2014 |
Bugünün tarih ve saatini, Date sınıfı kullanarak ekranda gösterme
1 2 3 |
SimpleDateFormat bicim2=new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); Date tarihSaat=new Date(); System.out.println(bicim2.format(tarihSaat)); // 24-8-2014 02:17:02 |
Calender sınıfını kullanarak, tarih ve saati parçalara ayırma
Bu örnekte gösterilen tarihi ve saati parçalama işlemini Date sınıfıyla yapamazsınız.
1 2 3 4 5 6 7 8 |
String aylar[]={"Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"}; Calendar simdi=Calendar.getInstance(); System.out.println(aylar[simdi.get(Calendar.MONTH)]); // Ağustos System.out.println(simdi.get(Calendar.DATE)); // 24 System.out.println(simdi.get(Calendar.YEAR)); // 2014 System.out.println(simdi.get(Calendar.HOUR)); // 2 System.out.println(simdi.get(Calendar.MINUTE)); // 12 System.out.println(simdi.get(Calendar.SECOND)); // 51 |
GregorianCalender kullanarak, tarih ve saati ekranda gösterme
1 2 3 |
SimpleDateFormat bicim3=new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); GregorianCalendar gcalender=new GregorianCalendar(); System.out.println(bicim3.format(gcalender.getTime())); // 24-8-2014 02:20:10 |
Yukarıdaki örneklerden yararlanarak tarih ve saatle ilgili işlemleri halledebilirsiniz. Tarih ve saati biçimlendirirken kullandığımız “dd/M/yyyy” gibi soneklere değinmedim, örnekler ve ekran çıktıları incelendiğinde ne anlama geldikleri anlaşılmaktadır.
güzel paylaşım eline sağlık. Bu saati öğlen 12 den sonrası için de 1,2,3 diye gösteriyor. Yani bunu 13, 14, 15 tarzında gösterebilme şansımız var mı?