Tôi có hai thiết bị HTC với Android 2.3.5 và Samsung với 2.3.6 hiện tại vấn đề tôi đang gặp phải là tôi cần tuần của tháng.Lịch.WEEK_OF_MONTH cho kết quả khác nhau trên hai thiết bị khác nhau
Vì vậy, tôi đã viết mã này và được cài đặt trên cả hai điện thoại. và thiết lập ngày hệ thống như
27th Jan 2013
Calendar calendar = Calendar.getInstance();
int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH);
Log.i(TAG,"weekOfMonth = "+weekOfMonth);
bây giờ HTC đầu ra là
weekOfMonth = 5
trong khi trên samsung chạy cùng mã sản xuất
weekOfMonth = 4
lần này đồng minh đang vặn các tính toán logic của tôi trước.
Tôi đang làm gì sai?
đâu là mã mà bạn đã thiết lập ngày hệ thống? Đó là đoạn mã quan trọng nhất ở đây. Quan trọng hơn, bạn đang chạy chính xác cùng một mã hoặc là có chỗ cho sự khác biệt? – HXCaine
Tôi tin rằng lịch là miền địa phương và múi giờ phụ thuộc. Hai thiết bị của bạn có được đăng ký với múi giờ hoặc ngôn ngữ khác nhau không? Nếu thời gian được đặt theo mili giây thì có thể múi giờ biến nó thành một ngày khác. Khi nghi ngờ sử dụng JodaTime mặc dù http://joda-time.sourceforge.net/ – BoredAndroidDeveloper
Một thiết bị cũng có thể có thứ hai là bắt đầu của tuần, kể từ ngày 27 là một chủ nhật. – Eric