En este tutorial veremos cómo obtener la fecha actual, día, mes, año, día de la semana, día del mes y día del año en java.
import java.util.Calendar; import java.util.Date; import java.util.TimeZone; class Example { public static void main(String args[]) { Calendar calendar = Calendar.getInstance(TimeZone.getDefault()); //getTime() returns the current date in default time zone Date date = calendar.getTime(); int day = calendar.get(Calendar.DATE); //Note: +1 the month for current month int month = calendar.get(Calendar.MONTH) + 1; int year = calendar.get(Calendar.YEAR); int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR); System.out.println("Current Date is: " + date); System.out.println("Current Day is:: " + day); System.out.println("Current Month is:: " + month); System.out.println("Current Year is: " + year); System.out.println("Current Day of Week is: " + dayOfWeek); System.out.println("Current Day of Month is: " + dayOfMonth); System.out.println("Current Day of Year is: " + dayOfYear); } }
Producción:
Current Date is: Wed Jan 08 20:30:26 IST 2014 Current Day is:: 8 Current Month is:: 1 Current Year is: 2014 Current Day of Week is: 4 Current Day of Month is: 8 Current Day of Year is: 8
En lo de arriba ejemplo recuperamos los datos de zona horaria local (nota: usamos TimeZone.getDefault()
en la primera declaración del programa. Sin embargo, también es posible obtener estos detalles para otra zona horaria.
He aquí cómo hacerlo:
Calendar cal = Calendar.getInstance(TimeZone.getDefault()); //change the timezone: Provide the TimeZone Id as parameter cal.setTimeZone(TimeZone.getTimeZone("Europe/Athens")); //get the details in new time zone System.out.println(cal.get(Calendar.HOUR_OF_DAY)); System.out.println(cal.get(Calendar.WEEK_OF_MONTH)); System.out.println(cal.get(Calendar.WEEK_OF_YEAR)); ...
Aquí Europe/Athens
es la identificación de una zona horaria. Para conocer todos los ID, ejecute el siguiente código. Le daría todas las ID existentes que puede usar en su programa:
for (String string : TimeZone.getAvailableIDs()) { System.out.println(string); }
La salida sería como:
Etc/GMT+12 Etc/GMT+11 Pacific/Midway Pacific/Niue Pacific/Pago_Pago Pacific/Samoa US/Samoa America/Adak America/Atka Etc/GMT+10 HST .... ...
Referencias: