Aquí es un ejemplo de cómo esto podría suceder ...
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = format.parse("2011-10-29");
} catch (ParseException e) {
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
calendar.setTime(date);
System.out.println("Day of the week = "
+ (calendar.get(Calendar.DAY_OF_WEEK)));
System.out.println("Saturday? "
+ (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY));
try {
date = format.parse("2011-10-29");
} catch (ParseException e) {
e.printStackTrace();
}
calendar = Calendar.getInstance(TimeZone.getTimeZone("PST"));
calendar.setTime(date);
System.out.println("Day of the week = "
+ (calendar.get(Calendar.DAY_OF_WEEK)));
System.out.println("Saturday? "
+ (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY));
que emite
Day of the week = 7
Saturday? true
Day of the week = 6
Saturday? false
así que sí, dependiendo de qué zona horaria que están en él será o no será el sábado .
¿Qué configuración regional utiliza su instancia de Calendario? Tal vez eso haga la diferencia, porque este código devuelve verdadero para mí. – Craigy
¿De verdad? Hice Calendar.getInstance(); ¿está mal? –
@doubter: registre la fecha del calendario para ver lo que pasó como fecha –