week paquete libreria gregoriancalendar gregorian from formato day dar date calendar get dayofweek gregorian-calendar

date - paquete - libreria gregorian calendar java



Inseguro de lo que obtiene(Calendar.DAY_OF_WEEK) devoluciones (2)

Uno siempre debe buscar los valores devueltos por el Calendario. {Campo} por ejemplo, como Calendario. DOMINGO, Calendario. MUNDO, Calendario. ENERO, Calendario.MARCH, etc. y así sucesivamente. Esto se debe a que los valores devueltos por Calendar. {Field} dependen del TimeZone especificado al crear la instancia de Calendar. Puede probar esto creando dos instancias de calendario con diferentes zonas horarias:

Calendar.getInstance("BST")

y

Calendar.getInstance() // default timezone

y ahora intente obtener calendar.get(Calendar.DAY_OF_WEEK) que devolverá diferentes valores enteros para estas dos instancias.

Mi problema puede ser creado fácilmente por el siguiente escenario:

//create a gregorian calendar object that set the date and time as 4th June 2012 at 10:30PM Calendar calendar = new GregorianCalendar(2012, 6, 4, 22, 30); //when I print out these: System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); System.out.println(calendar.get(Calendar.MINUTE)); System.out.println(calendar.get(Calendar.HOUR)); System.out.println(calendar.get(Calendar.DATE)); System.out.println(calendar.get(Calendar.MONTH)); System.out.println(calendar.get(Calendar.YEAR)); //output reads as: 4 30 10 4 6 2012 //so does calendar.get(Calendar.DAY_OF_WEEK) == calendar.get(Calendar.DATE) ???

Para que todo el mundo tenga claro que el 4 de junio de 2012 es lunes, ¿no debería calendar.get (Calendar.DAY_OF_WEEK) devolver 0 como parte del primer día de la semana?

Gracias por toda su ayuda y sus inquietudes, verifique también la fuente a la que se refiere.

usuario1442080


El mes en las clases de Java Calendar está basado en 0. Entonces junio es el mes número 5.

De hecho, creó un objeto que representa el 4 de julio, que pasa a ser un miércoles, que es el cuarto día de esa semana.