Intereting Posts
Диалог Android PreferenceActivity с выбором номера AudioFlinger не смог создать трек. Статус: -12 Подписание APK приложения Android? Контакт API хранения контактов как невидимый контакт: как сделать его видимым? Как сделать первый элемент ListView выбранным по умолчанию при запуске? Как открыть существующий проект андроида (build.gradle) в андроид-студии Список массивов Intent extra в Java Возможно ли создать несколько PendingIntents с тем же кодом запроса и разными дополнительными функциями? Где вы загружаете ошибки для продуктов и сервисов Google Android / iOS (AppInvites, Maps и т. Д.)? Адаптер списка обновления для Android onResume Как по умолчанию я использую цифровую клавиатуру на EditText без принудительного ввода цифр? Как добавить прямоугольники поверх существующего прямоугольника в холсте Как сделать только чтение (программно заполнено) Предпочтения? «DSR включен; Не отправлять DTR на "error Получить группы контактов?

Получение года, месяца и даты в Android

Я пытаюсь получить сегодняшний год, месяц и дату, используя следующий код;

Calendar calendar = Calendar.getInstance(); int thisYear = calendar.get(Calendar.YEAR); Log.d(TAG, "# thisYear : " + thisYear); int thisMonth = calendar.get(Calendar.MONTH); Log.d(TAG, "@ thisMonth : " + thisMonth); int thisDay = calendar.get(Calendar.DAY_OF_MONTH); Log.d(TAG, "$ thisDay : " + thisDay); 

Но это дает «2012 год за год за месяц и 28 на дату», который не является сегодняшней датой. Что я сделал не так?

Solutions Collecting From Web of "Получение года, месяца и даты в Android"

Правильно ли я предполагал, что это работает на эмуляторе? Если это так, установите дату эмулятора правильно, и это должно быть правильно.

Из памяти этот код должен делать то, что вы ожидаете.

 Calendar calendar = Calendar.getInstance(TimeZone.getDefault()); calendar.get(Calendar.YEAR) 

Месяц начинается с нуля, поэтому вам нужно добавить 1 с данным месяцем, чтобы показать номер месяца, с которым мы знакомы.

 int thisMonth = calendar.get(Calendar.MONTH); Log.d(TAG, "@ thisMonth : " + (thisMonth+1)); 

Это покажет вам текущий месяц, начинающийся с 1.

Я пробовал ваш код, и он дает правильный результат. Вы должны попробовать проверить время в своем эмуляторе / телефоне, на котором вы пытаетесь использовать этот код .

Согласно документам getInstance, он устанавливает текущую дату и время по умолчанию.

Попробуй использовать:

 Date dt = new Date(); dt.getYear(); dt.getMonth(); dt.getDay(); 

И посмотреть, получится ли у вас тот же результат. Если да, то ваша системная дата, вероятно, не синхронизирована. Для получения дополнительной информации обратитесь к документации по классу «Дата» :

Это дает время и дату вашей системы Android, поэтому сначала проверьте ее.