1. Ngalih saka Date
kelas menyang Calendar
kelas
Programer seneng Date
kelas kasebut amarga kesederhanaan lan dhukungan kanggo standar Unix, nanging kaya sing dingerteni, saben mawar duwe eri.
Programer pengin Date
kelas "pinter". Lan dheweke entuk apa sing dikarepake ing bentuk kelas Calendar
. Iki disusun minangka cara kanggo ora mung nyimpen tanggal, nanging uga kanggo nindakake operasi sing angel karo tanggal.
Jeneng lengkap saka Calendar
kelas punika java.util.Calendar. Aja lali ditambahake menyang statement ngimpor yen sampeyan arep nggunakake ing kode.
Sampeyan bisa nggawe Calendar
obyek kanthi printah iki:
Calendar date = Calendar.getInstance();
Cara statis getInstance()
saka Calendar
kelas nggawe Calendar
obyek sing diinisialisasi karo tanggal saiki. Tanggalan sing dikarepake bakal digawe adhedhasar setelan komputer sing mbukak program kasebut.
Utawa luwih tepat, tanggalan sing sampeyan entuk ... Iku amarga manungsa ing Bumi ora diwatesi ing siji tanggalan. Nanging, padha nggunakake akeh. Lan meh saben wong digandhengake karo sawetara agama utawa negara. Kelas kasebut Calendar
ndhukung 3:
Tanggalan | Katrangan |
---|---|
Kalender Gregorian | Kalender Gregorian Kristen |
Kalender Budha | kalender Budha |
Kalender Kaisar Jepang | Kalender kekaisaran Jepang |
Nanging ana uga kalender Cina lan Arab. Sejatine, nggarap wektu ora gampang kaya sing dikira.
Ing kalender Tionghoa, taun resmi yaiku 4716 nalika pawulangan iki ditulis. Lan miturut kalender Muslim, taun 1398. Sugeng rawuh ing jagad gedhe, kanca programerku.
2. Nggawe obyek tanggalan
Kita bakal nggunakake kalender Gregorian, amarga iku paling umum ing donya. Paling ora nganti China tuku Oracle lan nggawe kalender Cina dadi sing utama.
Sampeyan bisa nggawe obyek tanggalan kanthi tanggal apa wae nggunakake statement kaya iki:
Calendar date = new GregorianCalendar(year, month, day);
Ya, sampeyan kudu nulis GregorianCalendar
saben wektu. Tinimbang Calendar
, sampeyan uga bisa nulis GregorianCalendar
— sing uga bakal bisa. Nanging nulis mung Calendar
luwih cendhak.
Taun kudu ditulis kanthi lengkap, contone, sampeyan ora bisa nulis 19 tinimbang 2019. Sasi isih ana nomer saka nol. Nanging kaya sadurunge, dina sasi ora diitung saka nol. Kutu buku!
Kanggo nyetel wektu lan tanggal, sampeyan kudu ngliwati wektu minangka argumen tambahan:
... = new GregorianCalendar(year, month, day, hours, minutes, seconds);
Sampeyan bisa malah liwat milliseconds yen perlu. Iku parameter sawise sawetara detik.
3. Nampilake obyek tanggalan ing layar
Yen sampeyan mung nyithak obyek tanggalan ing layar, sampeyan ora bakal seneng banget karo asil kasebut.
Kode |
---|
|
Output konsol |
|
Bab sing kudu dielingake ing kene yaiku tanggalan iku tanggalan, dudu tanggal : duwe kabeh jinis setelan sing kabeh bakal ditampilake ing layar.
Luwih becik nggunakake SimpleDateFormat
obyek kanggo nampilake tanggalan, nanging nganti sinau, sampeyan bisa nggunakake hack urip iki.
Date date = calendar.getTime();
A Calendar
obyek bisa gampang diowahi kanggo Date
obyek, lan sampeyan wis ngerti carane kanggo nampilake Date
obyek. Sampeyan bisa nggunakake kode kaya iki kanggo ngowahi Calendar
obyek menyang Date
:
Nggunakake getTime()
metode:
Kode | Output konsol |
---|---|
|
|
Iku prakara sing beda, ta?
4. Nggarap unsur tanggal
Kanggo entuk unsur tartamtu saka tanggal (eg taun, sasi, ...), kelas Calendar
duwe get()
metode. Iku cara siji, nanging nduweni paramèter:
int month = calendar.get(Calendar.MONTH);
Where calendar
punika Calendar
variabel, lan MONTH
lapangan pancet kelas Calendar
.
Sampeyan ngliwati salah sawijining Calendar
lapangan konstan kelas minangka argumen kanggo get
metode kasebut, lan sampeyan entuk nilai sing dikarepake minangka asil.
Tuladha
Kode | Katrangan |
---|---|
|
jaman (sadurunge utawa sawise jaman umum) taun sasi dina sasi dina minggu jam menit detik |
Kanggo ngganti unsur tanggal, gunakake set
cara:
calendar.set(Calendar.MONTH, value);
Where calendar
punika Calendar
variabel, lan MONTH
lapangan pancet kelas Calendar
.
Nalika nggarap set
metode, sampeyan ngliwati salah sawijining Calendar
kolom konstan kelas minangka argumen pisanan, lan nilai anyar minangka argumen kapindho.
Tuladha
Kode | Katrangan |
---|---|
|
taun = 2019 wulan = Juli (nomer saka 0) dina kaping 4 jam menit detik |
5. Konstanta Calendar
kelas
Kolom konstan kelas Calendar
ora diwatesi kanggo menehi jeneng unsur tanggal. Koyone ana lapangan kanggo saben kesempatan.
Calendar date = new GregorianCalendar(2019, Calendar.JANUARY, 31);
Contone, ana kolom konstan kanggo ngrujuk marang sasi:
Lan uga dina minggu:
Calendar calendar = new GregorianCalendar(2019, Calendar.JANUARY, 31);
if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY)
{
System.out.println("It's Friday");
}
Kita ora bakal dhaptar kabeh. Kita mung ora pengin sampeyan kaget yen sampeyan ndeleng konstanta kaya iki ing kode kasebut.
Nggunakake konstanta ndadekake kode luwih bisa diwaca, mula programer nggunakake. Lan sasi sing nomer saka nul uga kanggo nambah readability. Utawa ora.
6. Ngganti tanggal ing Calendar
obyek
Kelas kasebut Calendar
duwe metode sing ngidini sampeyan ngoperasikake tanggal kanthi cara sing luwih cerdas. Contone, sampeyan bisa nambah taun, sasi, utawa sawetara dina kanggo tanggal. Utawa njupuk adoh. Cara iki diarani add()
. Nggawe karo katon kaya iki:
calendar.add(Calendar.MONTH, value);
Where calendar
punika Calendar
variabel, lan MONTH
lapangan pancet kelas Calendar
.
Nalika nggarap add
metode, sampeyan ngliwati salah sawijining Calendar
kolom konstan kelas minangka argumen pisanan, lan minangka argumen kapindho - nilai anyar sing bakal ditambahake.
Iki minangka cara cerdas liyane. Ayo ndeleng carane pinter iku:
Kode |
---|
|
Output konsol |
|
Cara iki mangertos mung ana 28 dina ing Februari 2019, dadi tanggal asil 1 Maret.
Saiki ayo njupuk 2 sasi! Apa sing kudu kita entuk? 27 Desember 2018! Ayo dipriksa saiki.
Kanggo nindakake operasi sing nyebabake tanggal sadurunge, sampeyan kudu menehi nilai negatif menyang add()
metode kasebut:
Kode |
---|
|
Output konsol |
|
Kerjane!
Cara iki nyathet dawane sasi lan taun kabisat sing beda-beda. Kabeh ing kabeh, cara sing apik. Iku persis apa sing paling programer sing nggarap tanggal perlu.
7. Rolling unsur tanggal
Nanging kadhangkala ana kahanan nalika kita ora pengin prilaku pinter iki, contone, sampeyan pengin nindakake soko kanggo salah siji bagéan saka tanggal tanpa ngganti kabeh liyane.
Kelas kasebut Calendar
duwe metode khusus roll()
kanggo iki. Tandhane mung kaya add()
cara, nanging cara iki mung ngganti siji unsur tanggal, supaya liyane ora diganti.
Tuladha:
Kode |
---|
|
Output konsol |
|
Kita ngganti sasi, nanging taun lan tanggal tetep ora owah.
GO TO FULL VERSION