我有两个设备HTC与Android 2.3.5和三星与2.3.6现在我面临的问题是我需要日期的一个月的一周.
所以我写了这段代码并安装在两部手机上.并将系统日期设置为
2013年1月27日
Calendar calendar = Calendar.getInstance();
int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH);
Log.i(TAG,"weekOfMonth = "+weekOfMonth);
Run Code Online (Sandbox Code Playgroud)
现在关于HTC的输出是
weekOfMonth = 5
Run Code Online (Sandbox Code Playgroud)
而在三星运行相同的代码产生
weekOfMonth = 4
Run Code Online (Sandbox Code Playgroud)
这真的是搞砸了我的逻辑计算.
难道我做错了什么 ?
Nic*_*ckT 10
这可能是由于Locales.在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);
Run Code Online (Sandbox Code Playgroud)
会给你
France week of month is 4
USA week of month is 5
UK week of month is 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1436 次 |
| 最近记录: |