Mam dwa urządzenia HTC z Androidem 2.3.5 i Samsung z 2.3.6 teraz problem z którym stoję to Potrzebuję daty tygodnia w miesiącu.Kalendarz.WEEK_OF_MONTH daje różne wyniki na dwóch różnych urządzeniach
Więc napisałem ten kod i zainstalowałem na obu telefonach. i ustawić datę systemową jako
27-ga Jan 2013
Calendar calendar = Calendar.getInstance();
int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH);
Log.i(TAG,"weekOfMonth = "+weekOfMonth);
teraz na HTC wyjście jest
weekOfMonth = 5
podczas Samsung pracuje ten sam kod produkuje
weekOfMonth = 4
to ponowne sojusznik wkręca moją logikę n obliczeń.
Czy robię coś nie tak?
Gdzie jest kod gdzie ustawiono datę systemową? To najważniejszy fragment kodu tutaj. Co ważniejsze, czy masz dokładnie ten sam kod lub czy jest miejsce na różnice? – HXCaine
Uważam, że kalendarz jest zależny od regionu i strefy czasowej. Czy Twoje dwa urządzenia są zarejestrowane w różnych strefach czasowych lub ustawieniach regionalnych? Jeśli czas jest ustawiony w milisekundach, to jest możliwe, że strefa czasowa sprawia, że jest inny dzień. W razie wątpliwości użyj JodaTime http://joda-time.sourceforge.net/ – BoredAndroidDeveloper
Jedno urządzenie może również mieć poniedziałek jako początek tygodnia, ponieważ 27 jest niedzielą. – Eric