Jungs, ich durch den Aufruf der folgenden Methode bin verwirrt: Calendar.getInstance().get(Calendar.WEEK_OF_YEAR)
, das Ergebnis aus dieser Methode bekam, ist nicht right.Here mein Code:Wie bekomme ich die richtige Wochennummer über einen Kalender?
Locale.setDefault(Locale.CHINA);
Calendar calendar = Calendar.getInstance();
//we think Monday is the first day of a week in China,but not Sunday.
calendar.setFirstDayOfWeek(Calendar.MONDAY);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateString = "2010-01-01";
calendar.setTime(sdf.parse(dateString));
System.out.println("DateString: " + dateString + ", week: " + calendar.get(Calendar.WEEK_OF_YEAR));
dateString = "2010-12-27";
calendar.setTime(sdf.parse(dateString));
System.out.println("DateString: " + dateString + ", week: " + calendar.get(Calendar.WEEK_OF_YEAR));
Das Ergebnis ist
DateString: 2010-01-01, week: 1//This may be wrong?
DateString: 2010-12-27, week: 1//This result is definitely wrong.
hier So ist die Frage, wie man mit der Kalender-Instanz die richtige Jahreszahl erhält?
viel dank @BalusC – George
Um @BalusC ist CST Abkürzung für Central Standard Time, China Standard Time oder Kuba Standard Time. Um die China Standard Time (CST) zu nutzen, benötigen wir auch die Gebietsinformation. – George
Es wird empfohlen, die langen Zeitzonennamen zu verwenden. In diesem Fall "Asien/Shanghai" – eckes