int the_year = cal.get(Calendar.YEAR); int the_month = cal.get(Calendar.MONTH); int the_date = cal.get(Calendar.DAY_OF_MONTH); int the_week_day = cal.get(Calendar.DAY_OF_WEEK); int days_to_add = 8 - the_week_day; if (days_to_add == 7) { days_to_add = 0; } the_date += days_to_add;
cal.set(the_year, the_month, the_date);
int week = cal.get(Calendar.WEEK_OF_YEAR); int year = cal.get(Calendar.YEAR);
toReturn = year + "-" + week;
System.out.println("date to return " + toReturn);
return toReturn; }//extractPeriodKey()
men når jeg sender datoen "2004-12-27 00:00:00" ind i funktionen (datoen er den første dag i ugen) får jeg ugen tilbage, men året er 2005 toReturn = "2005-53"
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", locale);//English
/** Converts a string to a java.util.Date (the String format is yyyy-mm-dd hh:mm:ss) */ public synchronized static java.util.Date stringToTimestamp(String date) throws ParseException { synchronized (sdf) { sdf.setLenient(false); return sdf.parse(date); } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.