1. Date
kelas lan wektu Unix
Wiwit wiwitaning basa Jawa wis ana kelas khusus kanggo nggarap wektu lan tanggal — Date
. Sajrone wektu, sawetara kelas liyane kanggo nggarap tanggal muncul, nanging programer terus nggunakake Date
kelas kasebut nganti saiki.
Iki amarga banget prasaja lan trep. Lan minangka programmer, sampeyan mesthi bakal nemoni ing proyek apa wae. Apa nggunakake utawa ora iku pilihan sampeyan, nanging sampeyan kudu ngerti. Dadi wenehi sawetara menit wektu sing larang regane.
Apa sing ndadekake Date
kelas dadi apik? Sawijining gamblang.
Kelas Date
nyimpen informasi tanggal lan wektu minangka jumlah milidetik sing wis liwati wiwit 1 Januari 1970. Iku akeh milidetik, mula long
jinis kasebut digunakake kanggo nyimpen.
Kenapa wiwit 1970 khusus? Iki sing disebut wektu Unix : iku carane sistem operasi Unix, kang mbah saka kabeh sistem operasi modern, tansah wektu.
Nanging sampeyan bisa kanthi gampang ngerteni sepira suwene wektu ing antarane rong tanggal: mung nyuda tanggal siji saka tanggal liyane, lan sampeyan entuk bedane wektu antarane tanggal nganti milidetik sing paling cedhak.
Ing ngisor iki sawetara conto sing migunani babagan nggarap kelas Date
.
2. Njupuk tanggal saiki
Kanggo entuk wektu lan tanggal saiki, mung nggawe Date
obyek. Saben obyek anyar nyimpen wektu nalika digawe. Iku katon banget prasaja:
Date current = new Date();
Sawise nglakokake prentah iki, current
variabel bakal nyimpen referensi kanggo Date
obyek sing digawe, sing bakal nyimpen wektu nggawe - jumlah milidetik sing wis suwe wiwit 1 Januari 1970.
Nampilake tanggal saiki ing layar
Kanggo nampilake tanggal saiki, cukup: a) nggawe Date
obyek anyar, b) nyetak menyang layar nggunakake System.out.println()
metode kasebut.
Tuladha:
Kode | Output konsol |
---|---|
|
|
Mangkene tegese output konsol:
Teks | Interpretasi |
---|---|
Kemis _ | Kemis |
21 februari | 21 Februari |
14:01:34 | jam : menit : detik |
EET | Zona wektu: Wektu Eropah Wétan |
2019 | taun |
3. Nyetel tanggal tartamtu
Kita ngerti carane entuk wektu saiki, nanging kepiye carane nggawe Date
obyek sing nyimpen tanggal utawa wektu sing beda?
Maneh, kabeh prasaja ing kene. Kanggo nyetel tanggal tartamtu, sampeyan kudu nulis kode kaya iki:
Date birthday = new Date(year, month, day);
Kabeh iku prasaja lan jelas, nanging ana rong nuansa sing kudu dingerteni:
- Taun kudu diitung saka 1900.
- Wulan cacahe saka nol.
Iki minangka warisan liyane saka sistem operasi Unix: ing Unix, programer nyatakake taun nggunakake rong digit. Tinimbang 1977, dheweke mung nulis 77. Dadi 77 minangka taun sing bener yen diitung saka 1900.
Contone, aku lair tanggal 21 Maret 1989. Maret iku sasi katelu, mula aku kudu nulis:
Kode | Output konsol |
---|---|
|
|
Wulan diwilang saka nol, nanging dina ora. Iku rada aneh, ta?
Kita mikir programer sing sejatine kudu menang lan ngetung dina sasi saka nol uga. Oh, iki conformists 🙂
Nyetel wektu tartamtu
Nyetel wektu tartamtu uga cukup prasaja: kanggo iki, sampeyan kudu nulis statement kaya iki:
Date birthday = new Date(year, month, day, hour, minutes, seconds);
Jam, menit lan detik diitung saka nol: supaya programmer ing njero sampeyan ambegan lega.
Tuladha:
Kode | Output konsol |
---|---|
|
|
Kita nyetel wektu 12:15 lan tanggal 4 Juni 2005 . Iki sethitik angel kanggo non-programmer diwaca, nanging kerjane minangka ngirim.
4. Nggarap unsur tanggal
Sampeyan bisa nindakake luwih akeh karo Date
obyek tinimbang mung nampilake. Nduwe cara sing ngidini sampeyan entuk unsur individu tanggal sing disimpen sacara internal:
Metode | Katrangan |
---|---|
|
Ngasilake taun tanggal relatif kanggo 1900. |
|
Ngasilake sasi tanggal (wulan dinomer saka nol) |
|
Ngasilake dina sasi |
|
Ngasilake dina minggu |
|
Ngasilake jam |
|
Ngasilake menit |
|
Ngasilake detik |
Tuladha:
Kode | Output konsol | Cathetan |
---|---|---|
|
|
2005 Juni dina sasi Sabtu |
Miturut cara, Date
obyek ora mung ngidini sampeyan entuk unsur tanggal, nanging uga ngganti:
Metode | Katrangan |
---|---|
void setYear(int year) |
Ganti taun tanggal. Taun kasebut dituduhake relatif marang 1900. |
void setMonth(int month) |
Ngganti sasi tanggal (wulan dinomer saka nol) |
void setDate(int date) |
Ganti dina sasi |
void setHours(int hours) |
Ganti jam |
void setMinutes(int minutes) |
Ganti menit |
void setSeconds(int seconds) |
Ganti detik |
5. Milidetik
Kaya sing wis dakkandhakake sadurunge, Date
obyek kasebut nyimpen jumlah milidetik sing wis suwe wiwit 1 Januari 1970.
Yen kita butuh nomer kasebut, kita bisa entuk saka Date
obyek kasebut:
long time = date.getTime();
Cara kasebut getTime()
ngasilake jumlah milidetik sing disimpen ing Date
obyek kasebut.
Ora mung sampeyan bisa entuk nomer milidetik, nanging sampeyan uga bisa ngganti nomer kasebut ing obyek sing wis ana:
Date date = new Date();
date.setTime(1117876500000L);
Ngomong-ngomong, sampeyan bisa nulis iki kanthi luwih ringkes kanthi ngliwati wektu menyang Date
obyek nalika digawe:
Date date = new Date(1117876500000L);
6. Mbandhingake tanggal
Yen sampeyan pengin mbandhingaké rong tanggal lan mangerteni kang siji teka pisanan, sampeyan duwe telung opsi
Cara pisanan yaiku mbandhingake jumlah milidetik sing saben disimpen:
if (date1.getTime() < date2.getTime())
Cara kapindho yaiku nggunakake before()
metode obyek Date
:
if (date1.before(date2))
Wacan kaya mangkene: yen date1
sadurunge date2
, banjur ...
Cara katelu yaiku nggunakake after()
metode obyek Date
:
if (date2.after(date1))
Wacan kaya mangkene: yen date2
sawise date1
, banjur ...
7. DateFormat
kelas
Elinga, nalika kita nampilake tanggal ing layar, kita weruh kaya iki: Thu Feb 21 14:01:34 EET 2019
. Kabeh katon bener, nanging format kasebut luwih akeh babagan tanggal sing bakal ditampilake kanggo programer tinimbang manungsa normal. Kita pengin nampilake tanggal luwih cetha kanggo pangguna. Soko kaya Tuesday, February 21
.
Lan tanpa taun. Utawa karo taun, yen perlu. Umumé, kita pengin bisa nampilake tanggal kanthi cara sing beda-beda.
Ana kelas khusus kanggo iki: SimpleDateFormat
.
Tuladha:
Kode |
---|
|
Output konsol |
|
Deleng apa program ditampilake: Jun-04-2005
. Babar pisan ora kaya biyen.
Bentenipun punika kita ditampilake ora Date
obyek dhewe, nanging senar khusus dijupuk dening nelpon format()
cara ing SimpleDateFormat
obyek. Nanging iki dudu titik utama ing kene.
Nalika SimpleDateFormat
obyek digawe, kita liwati ing senar "MMM-dd-YYYY"
minangka parameter. Senar iki sing ngirim format tanggal sing pungkasane katon ing output konsol.
- MMM nuduhake kanggo nampilake jeneng sasi, dicekak nggunakake telung aksara
- dd nuduhake kanggo nampilake dina sasi
- YYYY nuduhake taun nggunakake papat digit
Yen kita arep kanggo output sasi minangka nomer, banjur tinimbang MMM
, kita kudu nulis MM
, kang ngasilaken pola "MM-dd-YYYY"
. Output layar bakal06-04-2005
Kita bakal ngrembug kelas iki kanthi luwih rinci mengko.
8. Date.parse
cara
Kelas Date
bisa nindakake liyane menarik lan migunani - iku bisa njaluk tanggal saka senar. Utawa, minangka programer ngomong, bisa ngurai senar.
Wis parse()
cara khusus kanggo iki. Parsing katon kaya iki:
Date date = new Date();
date.setTime( Date.parse("Jul 06 12:15:00 2019") );
Miturut cara, kode iki bisa ditulis luwih kompak:
Date date = new Date("Jul 06 12:15:00 2019");
Kita bakal nimbang parsing senar kanthi luwih rinci ing pelajaran liyane.
GO TO FULL VERSION