Penetapan Zona Waktu Setempat
Mungkin hal ini kelihatannya sepele, namun akan sangat diperlukan jika kita membangun suatu aplikasi berbasis web yang bergantung pada proses beracuan pada zona waktu pada suatu wilayah yang berada pada suatu negara.
Seringkali hal ini terlupakan, namun akan sangat fatal akibatnya yaitu waktu yang diinginkan tidak sinkron atau tidak sesuai dengan harapan. Syukur-syukur zona waktu yang kita maksud sama dengan zona waktu server hosting yang kebetulan server tersebut berada pada satu wilayah dengan kita. Namun jika lokasi server hosting tidak satu wilayah bahkan beda negara pastinya terjadi perbedaan zona waktu.
Untuk menghindari hal tersebut aku akan memberikan contoh cara penetapan zona waktu setempat dengan menggunakan JSP. Mungkin cara ini sudah banyak yang tahu, namun aku cuma ingin mereview saja.
Kita bisa menggunakan kelas java.util.TimeZone untuk melakukan penetapan zona waktu setempat. Pada kelas tersebut kita manfaatkan method setDefault untuk melakukan penetapan zona yang dikembalikan oleh method getDefault. Berikut ini contoh kodenya:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <html> <head> <title>TimeZone</title> <%@ page import="java.util.Calendar, java.util.TimeZone" %> </head> <body> <%! public String waktuSetempat(String zona){ String AMPM; TimeZone tz = TimeZone.getDefault(); TimeZone id = TimeZone.getTimeZone(zona); tz.setDefault(id); Calendar cal = Calendar.getInstance(); if(cal.get(Calendar.AM_PM)==1) AMPM = "PM"; else AMPM = "AM"; String info = cal.get(Calendar.DATE)+"/"+ (cal.get(Calendar.MONTH)+1)+"/"+ cal.get(Calendar.YEAR)+" - "+ cal.get(Calendar.HOUR)+":"+ cal.get(Calendar.MINUTE)+":"+ cal.get(Calendar.SECOND)+" "+AMPM; return info; } %> <% out.print("Waktu Jakarta : "); out.println(waktuSetempat("GMT+07")); out.println("<br>"); out.print("Waktu Tokyo : "); out.println(waktuSetempat("GMT+09")); out.println("<br>"); out.print("Waktu Cairo : "); out.println(waktuSetempat("GMT+02")); out.println("<br>"); out.print("Waktu Amsterdam : "); out.println(waktuSetempat("GMT+01")); out.println("<br>"); out.print("Waktu Alaska : "); out.println(waktuSetempat("GMT-09")); out.println("<br>"); out.print("Waktu Santiago : "); out.println(waktuSetempat("GMT-04")); %> </body> </html> |
Untuk output bisa dilihat disini