D
donlelel
Hi,
Is it by design that roll by day doesnt change the month? If I roll one
day less and it gets to the point when it should decrease the month, it
just doesnt do it. Is there any other way to "roll" days in the year,
with a month change if necessary? Well, I'll rewrite the method bellow
to set the date by the number of the day in the year and check if
that's Mon, but I was just curious...
public static Date MonOfWeek(Date aWeekDay) {
//Calendar rightNow = Calendar.getInstance();
GregorianCalendar rightNow = new GregorianCalendar();
if (aWeekDay == null) {
Trace("WARNING MonOfWeek Null date!");
return rightNow.getTime();
}
rightNow.setTime(aWeekDay);
Trace("INFO MonOfWeek
rightNow="+rightNow.get(rightNow.DAY_OF_YEAR));
while (rightNow.MONDAY != rightNow.get(Calendar.DAY_OF_WEEK)) {
rightNow.roll(rightNow.DATE,false);
int aYDay = rightNow.get(rightNow.DAY_OF_YEAR);
Trace("INFO MonOfWeek rightNow=" + aYDay);
}
Trace("INFO MonOfWeek
rightNow="+rightNow.get(rightNow.DAY_OF_YEAR));
return rightNow.getTime();
}
Output:
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=245
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=244
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=273
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=272
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=271
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=270
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=269
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=268
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=268
Is it by design that roll by day doesnt change the month? If I roll one
day less and it gets to the point when it should decrease the month, it
just doesnt do it. Is there any other way to "roll" days in the year,
with a month change if necessary? Well, I'll rewrite the method bellow
to set the date by the number of the day in the year and check if
that's Mon, but I was just curious...
public static Date MonOfWeek(Date aWeekDay) {
//Calendar rightNow = Calendar.getInstance();
GregorianCalendar rightNow = new GregorianCalendar();
if (aWeekDay == null) {
Trace("WARNING MonOfWeek Null date!");
return rightNow.getTime();
}
rightNow.setTime(aWeekDay);
Trace("INFO MonOfWeek
rightNow="+rightNow.get(rightNow.DAY_OF_YEAR));
while (rightNow.MONDAY != rightNow.get(Calendar.DAY_OF_WEEK)) {
rightNow.roll(rightNow.DATE,false);
int aYDay = rightNow.get(rightNow.DAY_OF_YEAR);
Trace("INFO MonOfWeek rightNow=" + aYDay);
}
Trace("INFO MonOfWeek
rightNow="+rightNow.get(rightNow.DAY_OF_YEAR));
return rightNow.getTime();
}
Output:
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=245
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=244
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=273
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=272
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=271
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=270
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=269
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=268
Sun Sep 03 09:22:21 EDT 2006 : INFO MonOfWeek rightNow=268