男は、私は次のような方法呼び出すことで、混乱しています:だからここでカレンダーから週番号を取得するにはどうすればよいですか?
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));
結果が
DateString: 2010-01-01, week: 1//This may be wrong?
DateString: 2010-12-27, week: 1//This result is definitely wrong.
:Calendar.getInstance().get(Calendar.WEEK_OF_YEAR)
を、結果はそのメソッドから得たがright.Hereは私のコードですされていません質問、カレンダーインスタンスを使用して年番号の正しい週を取得する方法は?
たくさん@BalusCに@BalusC – George
のおかげで、CSTは、中国標準時またはキューバ標準時中部標準時の略です。中国標準時(CST)を使用するには、ロケールの情報も必要です。 – George
長いタイムゾーン名を使用することをお勧めします。この場合、 "アジア/上海" – eckes