这可能是由于语言环境。在Java
Calendar calFr = Calendar.getInstance(TimeZone.getTimeZone("Europe/Paris"), Locale.FRANCE);
Calendar calUs = Calendar.getInstance(TimeZone.getTimeZone("US/Eastern"), Locale.US);
Calendar calUk = Calendar.getInstance(TimeZone.getTimeZone("GMT"), Locale.UK);
calFr.set(2013, Calendar.JANUARY, 27);
calUs.set(2013, Calendar.JANUARY, 27);
calUk.set(2013, Calendar.JANUARY, 27);
int weekOfMonthFr = calFr.get(Calendar.WEEK_OF_MONTH);
int weekOfMonthUs = calUs.get(Calendar.WEEK_OF_MONTH);
int weekOfMonthUk = calUk.get(Calendar.WEEK_OF_MONTH);
System.out.println("France week of month is " + weekOfMonthFr);
System.out.println("USA week of month is " + weekOfMonthUs);
System.out.println("UK week of month is " + weekOfMonthUk);
会给你
France week of month is 4
USA week of month is 5
UK week of month is 4
哪里是哪里,你已经设置系统日期的代码?这是这里最重要的一段代码。更重要的是,你是运行完全相同的代码还是有差异的空间? – HXCaine
我相信日历是区域设置和时区相关的。你的两台设备是否注册到不同的时区或地区?如果时间以毫秒为单位设置,那么有可能时区使它成为不同的日子。如果有疑问,请使用JodaTime http://joda-time.sourceforge.net/ – BoredAndroidDeveloper
一台设备可能还有星期一作为本周的开始,因为第27天是星期天。 – Eric