I have this simple code:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse("2011-10-29");
calendar.setTime(date);
Log.d("Debug","Day of the week = "+(calendar.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY));
The 29th of October is a Saturday so why do I get false?
Here is an example of how this could happen...
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));
which outputs
Day of the week = 7
Saturday? true
Day of the week = 6
Saturday? false
so yes, depending on what time zone you are in it will or will not be Saturday.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With