package com.test.datetime; import java.text.SimpleDateFormat; import java.util.Calendar; public class CalendarSet { public static void main(String[] args) { Calendar cal=Calendar.getInstance(); cal.set(Calendar.YEAR, 1919); cal.set(Calendar.MONTH, Calendar.MAY); cal.set(Calendar.DAY_OF_MONTH, 19); SimpleDateFormat sdf=new SimpleDateFormat("dd.MM.yyyy"); System.out.println(sdf.format(cal.getTime())); } }Yukarıdaki uygulama çalıştırıldığında aşağıdaki bilgi basılacaktır: 19.05.1919 SimpleDateFormat tarih formatlamak için kullanılan bir sınıftır.
package com.test.datetime; import java.text.SimpleDateFormat; import java.util.Calendar; public class CalendarAdd { public static void main(String[] args) { SimpleDateFormat sdf=new SimpleDateFormat("dd.MM.yyyy"); Calendar now=Calendar.getInstance(); System.out.println("now:"+ sdf.format(now.getTime())); Calendar cal=Calendar.getInstance(); cal.add(Calendar.YEAR, 1); cal.add(Calendar.MONTH, 1); cal.add(Calendar.DAY_OF_YEAR, 1); System.out.println("cal:"+ sdf.format(cal.getTime())); } }Yukarıdaki uygulama çalıştırıldığında aşağıdaki bilgi basılacaktır: now:18.10.2016 cal:19.11.2017 SimpleDateFormat tarih formatlamak için kullanılan bir sınıftır.
package com.test.datetime; import java.text.DateFormat; import java.util.Calendar; import java.util.Locale; public class DateFormatTest { public static void main(String[] args) { DateFormat dfFull=DateFormat.getDateInstance(DateFormat.FULL,new Locale("TR")); DateFormat dfLong=DateFormat.getDateInstance(DateFormat.LONG,new Locale("TR")); DateFormat dfMedium=DateFormat.getDateInstance(DateFormat.MEDIUM,new Locale("TR")); DateFormat dfShort=DateFormat.getDateInstance(DateFormat.SHORT,new Locale("TR")); Calendar now=Calendar.getInstance(); System.out.println("full:"+ dfFull.format(now.getTime())); System.out.println("long:"+ dfLong.format(now.getTime())); System.out.println("medium:"+ dfMedium.format(now.getTime())); System.out.println("short:"+ dfShort.format(now.getTime())); } }FULL, LONG, MEDIUM ve SHORT tipi kullanılmıştır. Bölgesel olarak Türkiye verilmiştir ve tarih biçimi Türkiye'de kullanılan biçimde olacaktır. Uygulama çıktısı aşağıdaki gibidir: full:18 Ekim 2016 Salı long:18 Ekim 2016 Salı medium:18.Eki.2016 short:18.10.2016 Türkiye'de long ile full farklı değildir ancak bazı ülkelerde farklıdır
Harf | Anlamı | Örnek |
y | Yıl | yyyy : 2016, yy : 16 |
M | Ay | MM : 07, May, Mayıs |
d | Ayın Günü | d: 2 , dd : 02 |
k | Günün Saati (1-24) | kk : 13 |
m | Dakika | mm:05 |
s | Saniye | ss:12 |
E | Haftanın günü | E : Salı |
D | Yılın Kaçıncı Günü | D:360 |
H | Günün Saat (0-23) | HH:00 |
K | Günün Saati (am/pm şeklinde 0-11) | K:0 |
h | Günün Saati (am/pm şeklinde 1-12) | hh:12 |
S | milisaniye | S:234 |
z | Time zone (genel) | Pacific Standard Time; PST; GMT-08:00 |
Z | Time zone (RFC 822) | -0800 |
X | Time zone (ISO 8601) | -08; -0800; -08:00 |
import java.util.*; import java.text.*; public class CalendarTest { public static void main(String[] args){ Calendar c=Calendar.getInstance(); System.out.println(c); System.out.println(c.get(Calendar.YEAR)); System.out.println(c.get(Calendar.MONTH)); System.out.println(c.get(Calendar.DAY_OF_MONTH)); System.out.println(c.get(Calendar.DAY_OF_WEEK)); System.out.println(c.get(Calendar.DAY_OF_YEAR)); DateFormat df=DateFormat.getDateInstance(DateFormat.LONG); System.out.println(df.format(new Date())); } }Ekran çıktısı aşağıdaki gibi olabilir: java.util.GregorianCalendar[time=1124716172190, areFieldsSet=true,areAllFieldsSet=true,lenient=true, zone=sun.util.calendar.ZoneInfo[id="Europe/Athens", offset=7200000,dstSavings=3600000,useDaylight=true, transitions=138,lastRule=java.util.SimpleTimeZone[id=Europe/Athens,offset=7200000, dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1, startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9, endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2, minimalDaysInFirstWeek=1,ERA=1,YEAR=2005,MONTH=7,WEEK_OF_YEAR=35, WEEK_OF_MONTH=4,DAY_OF_MONTH=22,DAY_OF_YEAR=234,DAY_OF_WEEK=2, DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=4,HOUR_OF_DAY=16,MINUTE=9, SECOND=32,MILLISECOND=190,ZONE_OFFSET=7200000,DST_OFFSET=3600000] 2005 7 22 2 234 22 Ağustos 2005 Pazartesi Calendar c=Calendar.getInstance(); sistemin tarihine uygun bir nesne yaratıp döndürmektedir. Calendar'da get method ile istenilen bir tipe göre değerler alınabilir. Örneğin Calendar.YEAR verilince yıl bilgisi gelmektedir. Kaçıncı ay, ayın kaçıncı günü, haftanın kaçıncı günü gibi bilgileri alabiliriz. En son formatlama işlemi gerçekleşmektedir. DateFormat sınıfı java.text paketindedir ve tarihi formatlamak için kullanılır.
package com.test.datetime; import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatTest { public static void main(String[] args) { SimpleDateFormat gunayyil=new SimpleDateFormat("dd.MM.yyyy"); SimpleDateFormat gunayyilsaatdakikasaniye=new SimpleDateFormat("dd/MM/yyyy kk:mm:ss"); SimpleDateFormat saatdakika=new SimpleDateFormat("kk:mm"); Date now=new Date(); System.out.println(gunayyil.format(now)); System.out.println(gunayyilsaatdakikasaniye.format(now)); System.out.println(saatdakika.format(now)); } }Uygulamanın çıktısı aşağıdaki gibi olacaktır: 18.10.2016 18/10/2016 12:47:49 12:47