+1 Это было очень полезно. Будучи новичком, это все эти маленькие лакомые кусочки, которые нам нужны ... Я использую Календарь, чтобы получить юлианскую дату. Намного проще, чем получить миллисекунды и выяснить, равняется ли значение сегодня;)
Билл Мот
9
Но откуда это тянуть дату и время? само устройство андроид настраивается?
Кайл Клегг
12
@Kyle Да, это основано на настройках времени устройства / часового пояса. Цитата из документа : «Метод getInstance Календаря возвращает календарь, локаль которого основана на системных настройках и поля времени которого были инициализированы с текущей датой и временем» - (над первой строкой кода образца в документации класса).
3
+1 это решение с точностью до миллисекунды, как раз то, что мне нужно.
Игорь Селая
42
Как говорит @adamdport, это на самом деле не отвечает на вопрос ... Calendar.getInstance().getTime()или Calendar.getInstance().getTimeInMillis()сработает.
Класс Time - более быстрая замена для классов java.util.Calendar и java.util.GregorianCalendar. Экземпляр класса Time представляет момент времени, указанный с точностью до секунды.
ПРИМЕЧАНИЕ 1.
Прошло несколько лет с тех пор, как я написал этот ответ, и речь идет о старом, специфичном для Android, и теперь устаревшем классе. Google теперь говорит, что «[t] его класс имеет ряд проблем, и рекомендуется использовать GregorianCalendar вместо этого».
ПРИМЕЧАНИЕ 2. Несмотря на то, что у Timeкласса есть toMillis(ignoreDaylightSavings)метод, это просто удобство для перехода к методам, которые ожидают время в миллисекундах. Значение времени с точностью до одной секунды ; доля в миллисекундах всегда 000. Если в цикле вы делаете
Time time =newTime(); time.setToNow();Log.d("TIME TEST",Long.toString(time.toMillis(false)));...do something that takes more than one millisecond, but less than one second ...
Результирующая последовательность будет повторять одно и то же значение, например 1410543204000, до тех пор, пока 1410543205000не начнется следующая секунда, после чего начнется повторение.
@InsanityOnABun и Мухаммед Бабар. Нет нет нет. Документы говорят «указано со второй точностью». Даже самый простой тест (получение текущего времени в цикле, toMillis и запись / печать результата) показал бы, что полученное время имеет значение 000 в миллисекундах!
ToolmakerSteve
3
@IgorZelaya Если вам нужна точность в миллисекундах, вы, скорее всего, используете интервал времени , а не время суток. Документы Android рекомендуют SystemClock.uptimeMillis()для интервального времени. Так как это то, что используется большинством встроенных функций, есть сильная мотивация для того, чтобы это было хорошо реализовано на всех устройствах. Смотрите обсуждение в SystemClock ... Если вы хотите соотнести это с временем суток, в onResume приложения прочитайте и это, и Time / setToNow / toMillis. Помните разницу между этими.
> Этот класс устарел на уровне API 22. Вместо этого используйте GregorianCalendar. Смотрите здесь
Neo
На самом деле, он GregorianCalendarбыл вытеснен несколько лет назад в Java, а затем и в Android классами java.time , в частности ZonedDateTime. Для более ранних версий Android см. Проекты ThreeTen- Backport и ThreeTenABP .
Василий Бурк
367
Если вы хотите получить дату и время по определенному шаблону, вы можете использовать следующее:
Это даст время в UTC, должно адаптироваться к часовым поясам.
Андрас Балас Лайта
10
Осторожно, SimpleDateFormat может быть проблематичным, если производительность является проблемой. В моем приложении было пользовательское представление, в котором было около 20 меток ЧЧ: ММ, представляющих определенное время (длинные целые числа, содержащие миллисекунды), и такое же количество доступных для рисования ресурсов. Первоначальное тестирование показало, что взаимодействие не было таким подвижным, как я хотел. Когда я профилировал onDraw (), я обнаружил, что вызовы SimpleTimeFormatter занимают 80% времени. Фактически, я читаю эту страницу как часть поиска более эффективного средства форматирования, чтобы узнать больше о календарях и т. Д.
Уильям Т. Маллард,
3
Да, но не больше. Я не осознавал сопутствующих накладных расходов и предполагал, что это в значительной степени POJO.
Уильям Т. Маллард
32
Короче говоря:String currentDateandTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
Пратик Бутани
4
Вы можете вставить sdf.setTimeZone(TimeZone.getDefault())в середине
Харви
231
Для тех, кто предпочитает индивидуальный формат, вы можете использовать:
DateFormat df =newSimpleDateFormat("EEE, d MMM yyyy, HH:mm");String date = df.format(Calendar.getInstance().getTime());
Принимая во внимание, что вы можете иметь шаблоны DateFormat, такие как:
"yyyy.MM.dd G 'at' HH:mm:ss z"----2001.07.04 AD at 12:08:56 PDT
"hh 'o''clock' a, zzzz"-----------12 o'clock PM, Pacific Daylight Time
"EEE, d MMM yyyy HH:mm:ss Z"------- Wed, 4 Jul 2001 12:08:56 -0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"------- 2001-07-04T12:08:56.235-0700
"yyMMddHHmmssZ"-------------------- 010704120856-0700
"K:mm a, z" ----------------------- 0:08 PM, PDT
"h:mm a" -------------------------- 12:08 PM
"EEE, MMM d, ''yy" ---------------- Wed, Jul 4, '01
На самом деле, безопаснее установить текущий часовой пояс, установленный на устройстве, с помощью Time.getCurrentTimezone(), иначе вы получите текущее время в UTC.
Time today =newTime(Time.getCurrentTimezone());
today.setToNow();
Затем вы можете получить все нужные поля даты, например:
textViewDay.setText(today.monthDay +"");// Day of the month (1-31)
textViewMonth.setText(today.month +"");// Month (0-11)
textViewYear.setText(today.year +"");// Year
textViewTime.setText(today.format("%k:%M:%S"));// Current time
Как отмечают многие, Google говорит, что у этого класса есть ряд проблем, и его больше нельзя использовать:
Этот класс имеет ряд проблем, поэтому рекомендуется использовать GregorianCalendar.
Известные вопросы:
По историческим причинам при выполнении временных вычислений вся арифметика в настоящее время выполняется с использованием 32-разрядных целых чисел. Это ограничивает достоверный диапазон времени, представляемый с 1902 до 2037 года. Подробности смотрите в статье в Википедии о проблеме 2038 года. Не полагайтесь на это поведение; это может измениться в будущем. Вызов switchTimezone (String) в дату, которая не может существовать, например, в настенное время, которое было пропущено из-за перехода на летнее время, приведет к дате в 1969 году (т.е. -1 или 1 секунда до 1 января 1970 года по Гринвичу). Большая часть форматирования / синтаксического анализа предполагает использование текста ASCII и поэтому не подходит для использования со сценариями, не относящимися к ASCII.
Instant instant =Instant.now();// Current moment in UTC.
Часовой пояс
Примените часовой пояс ( ZoneId), чтобы получить ZonedDateTime. Если вы опустите часовой пояс, текущий часовой пояс вашего JVM будет применен неявно. Лучше явно указать желаемый / ожидаемый часовой пояс.
ZoneId zoneId =ZoneId.of("America/Montreal");// Or "Asia/Kolkata", "Europe/Paris", and so on.ZonedDateTime zdt =ZonedDateTime.ofInstant( instant , zoneId );
Генерация строк
Вы можете легко создать Stringтекстовое представление значения даты и времени. Вы можете использовать стандартный формат, собственный формат или автоматически локализованный формат.
ISO 8601
Вы можете вызывать toStringметоды для форматирования текста, используя общий и разумный стандарт ISO 8601 .
String output = instant.toString();
2016-03-23T03: 09: 01.613Z
Обратите внимание ZonedDateTime, что toStringметод расширяет стандарт ISO 8601, добавляя название часового пояса в квадратных скобках. Чрезвычайно полезная и важная информация, но не стандартная.
Укажите Localeязык человека (английский, французский и т. Д.), Который будет использоваться при переводе названия дня / месяца, а также при определении культурных норм, таких как порядок года, месяц и дата. Обратите внимание, что Localeэто не имеет ничего общего с часовым поясом.
formatter = formatter.withLocale(Locale.US );// Or Locale.CANADA_FRENCH or such.String output = zdt.format( formatter );
локализующий
А еще лучше, пусть java.time выполняет работу по локализации автоматически.
DateTimeFormatter formatter =DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM );String output = zdt.format( formatter.withLocale(Locale.US ));// Or Locale.CANADA_FRENCH and so on.
Чтобы узнать больше, смотрите Oracle Tutorial . И поиск переполнения стека для многих примеров и объяснений. Спецификация JSR 310 .
Вы можете обмениваться объектами java.time напрямую с вашей базой данных. Используйте драйвер JDBC, соответствующий JDBC 4.2 или более поздней версии . Нет необходимости в строках, нет необходимости в java.sql.*классах.
@ giraffe.guru Перечитайте мой ответ. Вы пропустили третью пулю. Большая часть функциональности java.time перенесена на Java 6 и 7 в ThreeTen-Backport и дополнительно адаптирована для Android в ThreeTenABP .
Василий Бурк
Instant.now()и ZonedDateTime.now()требуется API 26
Райд
2
@Ryde Как я сказал giraffe.guru, перечитайте мой ответ. Ищите третью пулю с упоминанием «Android».
Базилик Бурк
Я верю, что вы правы: ваша новая таблица версий java.time передает сообщение более просто и легко, чем список с маркерами. Если бы это был я, я бы усложнил ситуацию немного дальше и поставил бы галочку в скобках (или что-то подобное) в ThreeTenBackport / Java 8+, а также в ThreeTenABP / Android 26+, так как эти комбинации работают, только нет Обычно нет смысла их использовать. Разрабатываются приложения для Android, использующие ThreeTenABP и предназначенные для целого ряда уровней API Android как на уровне, так и на уровне ниже 26. Мне кажется, что разработчики в этих случаях хорошо выбирают.
Оле В.В.
1
@ OleV.V. Спасибо, что предложили установить дополнительную галочку в графической таблице. Я использовал это в более поздних версиях таблицы. Намного улучшилось
Василий Бурк
52
Чтобы узнать текущее время, вы можете использовать System.currentTimeMillis()стандарт Java. Тогда вы можете использовать его для создания даты
Date currentDate =newDate(System.currentTimeMillis());
И как уже упоминалось другими, чтобы создать время
Time currentTime =newTime();
currentTime.setToNow();
Нет необходимости для System.currentTimeMillis(); просто new Date()делает то же самое .
Jonik
@Jonik Cannot resolve constructor Date()в Android, Android SDK использует смесь Java 6 и 7.
surfer190
1
Спасибо. Date currentDate = new Date(System.currentTimeMillis());правильно
мгхгм
@ mghhgm Нет, new Date(System.currentTimeMillis())не верно: (а) это избыточно, так как это точно так же, как new Date(). (b) Проблемный java.util.Dateкласс теперь вытеснен с java.time.InstantJava 8 и позже. Обратный перенос в Java 6 & 7 в проекте ThreeTen-Backport и в более раннюю версию Android (<26) в ThreeTenABP .
Василий Бурк
37
Вы можете использовать код:
Calendar c =Calendar.getInstance();SimpleDateFormat sdf =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");String strDate = sdf.format(c.getTime());
Вывод:
2014-11-1100:47:55
Вы также можете получить некоторые варианты более форматирования для SimpleDateFormatиз здесь .
как можно получить дату на следующие 5-10 дней .. это ручной расчет здесь?
Код
@CoDe Вы используете дату для этого
FindOutIslamNow
27
Есть несколько вариантов, так как Android - это в основном Java, но если вы хотите записать его в textView, следующий код поможет:
String currentDateTimeString =DateFormat.getDateInstance().format(newDate());// textView is the TextView view that should display it
textView.setText(currentDateTimeString);
Вы должны использовать Calendarили GregorianCalendar. DateКласс является устаревшим.
Джозеф Эрл
Спасибо, приятель :) Я даже понятия не имел об этом
dLobatog
12
В соответствии со справочной документацией Date () ( developer.android.com/reference/java/util/Date.html ) ничего не ссылается на устаревший класс Date (), однако некоторые методы и конструкторы устарели.
Зак Сет
2
Это даст неверный результат в смысле текущих пользовательских настроек (например, в формате времени 12/24). Используйте android.text.format.DateFormat.getTimeFormat (Context context), чтобы получить DateFormat для текущих пользовательских настроек.
wonder.mice
@Zac, вы правы, даже метод getTime в Date еще более полно используется
G Era designator (before christ, after christ)
y Year(e.g.12or2012).Use either yy or yyyy.
M Monthin year.Numberof M's determine length of format (e.g. MM, MMM or MMMMM)
d Day in month. Number of d's determine length of format (e.g. d or dd)
h Hourof day,1-12(AM / PM)(normally hh)
H Hourof day,0-23(normally HH)
m Minutein hour,0-59(normally mm)
s Secondin minute,0-59(normally ss)
S Millisecondin second,0-999(normally SSS)
E Dayin week (e.g Monday,Tuesday etc.)
D Dayin year (1-366)
F Dayof week in month (e.g.1stThursdayofDecember)
w Weekin year (1-53)
W Weekin month (0-5)
a AM / PM marker
k Hourin day (1-24, unlike HH's 0-23)
K Hour in day, AM / PM (0-11)
z Time Zone
Мне не нравится тесная связь логики представления и логики процесса; Я бы предпочел метод, который просто выполняет форматирование и принимает параметр ввода даты. Я также не понимаю, почему вы используете 2 SimpleDateFormatс & 2 Dateс ... разве вы не можете просто использовать "yyyy/MM/dd HH:mm"в качестве формата и календарь вызовов один раз?
AjahnCharles
12
Time time =newTime();
time.setToNow();System.out.println("time: "+ time.hour+":"+time.minute);
Это даст вам, например, 12:32.
Не забудьте импортировать android.text.format.Time;
if(Build.VERSION.SDK_INT >=Build.VERSION_CODES.O){
val current =LocalDateTime.now()
val formatter =DateTimeFormatter.ofPattern("dd.MM.yyyy. HH:mm:ss")var myDate:String= current.format(formatter)Log.d("Date","DATE : "+ myDate)}else{var date =Date()
val formatter =SimpleDateFormat("MMM dd yyyy HH:mma")
val myDate:String= formatter.format(date)Log.d("Date","DATE : "+ myDate)}
Шаблоны Date Formater
"yyyy.MM.dd G 'at' HH:mm:ss z"----2001.07.04 AD at 12:08:56 PDT
"hh 'o''clock' a, zzzz"-----------12 o'clock PM, Pacific Daylight Time
"EEE, d MMM yyyy HH:mm:ss Z"------- Wed, 4 Jul 2001 12:08:56 -0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"------- 2001-07-04T12:08:56.235-0700
"yyMMddHHmmssZ"-------------------- 010704120856-0700
"K:mm a, z" ----------------------- 0:08 PM, PDT
"h:mm a" -------------------------- 12:08 PM
"EEE, MMM d, ''yy" ---------------- Wed, Jul 4, '01
Спасибо за желание участвовать. Вы вносите что-то, чего еще нет в предыдущих 36 ответах? В любом случае вы все еще пользуетесь общеизвестно хлопотным и давно устаревшим SimpleDateFormatклассом. Даже до Oreo вам не нужно, вместо этого вы можете использовать ThreeTenABP , бэкпорт java.time, современный Java-интерфейс даты и времени.
Оле В.В.
11
Вы также можете использовать android.os.SystemClock. Например, SystemClock.elapsedRealtime () даст вам более точные показания времени, когда телефон спит.
DateFormat df =newSimpleDateFormat("HH:mm");// Format timeString time = df.format(Calendar.getInstance().getTime());DateFormat df1 =newSimpleDateFormat("yyyy/MM/dd");// Format dateString date = df1.format(Calendar.getInstance().getTime());
Вы должны использовать класс Calender в соответствии с новым API. Дата класса устарела сейчас.
Calendar cal =Calendar.getInstance();String date =""+cal.get(Calendar.DATE)+"-"+(cal.get(Calendar.MONTH)+1)+"-"+cal.get(Calendar.YEAR);String time =""+cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE);
Date date =newDate();SimpleDateFormat dateFormatWithZone =newSimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",Locale.getDefault());String currentDate = dateFormatWithZone.format(date);
Ответы:
Вы можете использовать:
В календаре достаточно констант для всего, что вам нужно.
Изменить:
проверить документацию класса календаря
источник
Calendar.getInstance().getTime()
илиCalendar.getInstance().getTimeInMillis()
сработает.Вы можете ( но больше не должны - смотрите ниже!) Использовать android.text.format.Time :
Из ссылки, указанной выше:
ПРИМЕЧАНИЕ 1. Прошло несколько лет с тех пор, как я написал этот ответ, и речь идет о старом, специфичном для Android, и теперь устаревшем классе. Google теперь говорит, что «[t] его класс имеет ряд проблем, и рекомендуется использовать GregorianCalendar вместо этого».
ПРИМЕЧАНИЕ 2. Несмотря на то, что у
Time
класса естьtoMillis(ignoreDaylightSavings)
метод, это просто удобство для перехода к методам, которые ожидают время в миллисекундах. Значение времени с точностью до одной секунды ; доля в миллисекундах всегда000
. Если в цикле вы делаетеРезультирующая последовательность будет повторять одно и то же значение, например
1410543204000
, до тех пор, пока1410543205000
не начнется следующая секунда, после чего начнется повторение.источник
SystemClock.uptimeMillis()
для интервального времени. Так как это то, что используется большинством встроенных функций, есть сильная мотивация для того, чтобы это было хорошо реализовано на всех устройствах. Смотрите обсуждение в SystemClock ... Если вы хотите соотнести это с временем суток, в onResume приложения прочитайте и это, и Time / setToNow / toMillis. Помните разницу между этими.GregorianCalendar
был вытеснен несколько лет назад в Java, а затем и в Android классами java.time , в частностиZonedDateTime
. Для более ранних версий Android см. Проекты ThreeTen- Backport и ThreeTenABP .Если вы хотите получить дату и время по определенному шаблону, вы можете использовать следующее:
Или,
Дата :
Время:
источник
String currentDateandTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
sdf.setTimeZone(TimeZone.getDefault())
в серединеДля тех, кто предпочитает индивидуальный формат, вы можете использовать:
Принимая во внимание, что вы можете иметь шаблоны DateFormat, такие как:
источник
На самом деле, безопаснее установить текущий часовой пояс, установленный на устройстве, с помощью
Time.getCurrentTimezone()
, иначе вы получите текущее время в UTC.Затем вы можете получить все нужные поля даты, например:
См. Android.text.format.Time класс для всех деталей.
ОБНОВИТЬ
Как отмечают многие, Google говорит, что у этого класса есть ряд проблем, и его больше нельзя использовать:
источник
Для текущей даты и времени используйте:
Какие выводы:
источник
Попробуйте таким способом. Все форматы приведены ниже, чтобы получить формат даты и времени.
источник
ТЛ; др
…или…
подробности
Остальные ответы, хотя и правильные, устарели. Старые классы даты и времени оказались плохо продуманными, запутанными и хлопотными.
java.time
Эти старые классы были вытеснены фреймворком java.time .
Эти новые классы вдохновлены очень успешным проектом Joda-Time , определенным JSR 310 и расширенным проектом ThreeTen-Extra .
Смотрите руководство по Oracle .
Instant
Это
Instant
момент времени на UTC с разрешением до наносекунд .Часовой пояс
Примените часовой пояс (
ZoneId
), чтобы получитьZonedDateTime
. Если вы опустите часовой пояс, текущий часовой пояс вашего JVM будет применен неявно. Лучше явно указать желаемый / ожидаемый часовой пояс.Используйте собственные имена часовых поясов в формате
continent/region
таких какAmerica/Montreal
,Europe/Brussels
илиAsia/Kolkata
. Никогда не используйте 3-4-буквенные сокращения, такие какEST
или,IST
поскольку они не являются ни стандартизированными, ни уникальными.Генерация строк
Вы можете легко создать
String
текстовое представление значения даты и времени. Вы можете использовать стандартный формат, собственный формат или автоматически локализованный формат.ISO 8601
Вы можете вызывать
toString
методы для форматирования текста, используя общий и разумный стандарт ISO 8601 .Обратите внимание
ZonedDateTime
, чтоtoString
метод расширяет стандарт ISO 8601, добавляя название часового пояса в квадратных скобках. Чрезвычайно полезная и важная информация, но не стандартная.Пользовательский формат
Или укажите свой собственный конкретный шаблон форматирования с
DateTimeFormatter
классом.Укажите
Locale
язык человека (английский, французский и т. Д.), Который будет использоваться при переводе названия дня / месяца, а также при определении культурных норм, таких как порядок года, месяц и дата. Обратите внимание, чтоLocale
это не имеет ничего общего с часовым поясом.локализующий
А еще лучше, пусть java.time выполняет работу по локализации автоматически.
О java.time
Java.time каркас встроен в Java 8 и более поздних версий. Эти классы вытеснять неприятные старые устаревшие классы даты и времени , такие как
java.util.Date
,Calendar
, иSimpleDateFormat
.Проект Joda-Time , находящийся сейчас в режиме обслуживания , рекомендует перейти на java.time. классы .
Чтобы узнать больше, смотрите Oracle Tutorial . И поиск переполнения стека для многих примеров и объяснений. Спецификация JSR 310 .
Вы можете обмениваться объектами java.time напрямую с вашей базой данных. Используйте драйвер JDBC, соответствующий JDBC 4.2 или более поздней версии . Нет необходимости в строках, нет необходимости в
java.sql.*
классах.Где взять классы java.time?
источник
Instant.now()
иZonedDateTime.now()
требуется API 26Чтобы узнать текущее время, вы можете использовать
System.currentTimeMillis()
стандарт Java. Тогда вы можете использовать его для создания датыИ как уже упоминалось другими, чтобы создать время
источник
System.currentTimeMillis()
; простоnew Date()
делает то же самое .Cannot resolve constructor Date()
в Android, Android SDK использует смесь Java 6 и 7.Date currentDate = new Date(System.currentTimeMillis());
правильноnew Date(System.currentTimeMillis())
не верно: (а) это избыточно, так как это точно так же, какnew Date()
. (b) Проблемныйjava.util.Date
класс теперь вытеснен сjava.time.Instant
Java 8 и позже. Обратный перенос в Java 6 & 7 в проекте ThreeTen-Backport и в более раннюю версию Android (<26) в ThreeTenABP .Вы можете использовать код:
Вывод:
Вы также можете получить некоторые варианты более форматирования для
SimpleDateFormat
из здесь .источник
java.util.Date
,java.util.Calendar
иjava.text.SimpleDateFormat
теперь унаследованные , вытеснены классами java.time, встроенными в Java 8 и более поздние версии . Смотрите Учебник по Oracle .Легко, вы можете разделить время, чтобы получить отдельные значения для текущего времени, следующим образом:
То же самое касается даты, как показано ниже:
источник
Есть несколько вариантов, так как Android - это в основном Java, но если вы хотите записать его в textView, следующий код поможет:
источник
Calendar
илиGregorianCalendar
.Date
Класс является устаревшим.Формат даты Шаблоны
источник
источник
Это метод, который будет полезен для получения даты и времени:
Вы можете вызвать этот метод и получить текущие значения даты и времени:
источник
SimpleDateFormat
с & 2Date
с ... разве вы не можете просто использовать"yyyy/MM/dd HH:mm"
в качестве формата и календарь вызовов один раз?Это даст вам, например, 12:32.
Не забудьте импортировать android.text.format.Time;
источник
источник
Для текущей даты и времени с форматом используйте
На яве
В котлине
Шаблоны Date Formater
источник
SimpleDateFormat
классом. Даже до Oreo вам не нужно, вместо этого вы можете использовать ThreeTenABP , бэкпорт java.time, современный Java-интерфейс даты и времени.Вы также можете использовать android.os.SystemClock. Например, SystemClock.elapsedRealtime () даст вам более точные показания времени, когда телефон спит.
источник
Если вам нужна текущая дата:
Если вам нужно текущее время:
источник
Для настроенного формата времени и даты:
Выходные данные имеют следующий формат: 2015-06-18T10: 15: 56-05: 00
источник
источник
Попробуйте, это работает и для меня.
источник
Вы можете получить дату, используя:
Это даст вам результат в хорошей форме, как в следующем примере: «2014/02/09».
источник
Time t = new Time();
будет использовать часовой пояс по умолчанию. По моему опыту, по умолчанию == текущий.Ну, у меня были проблемы с некоторыми ответами API, поэтому я сливаю этот код, я надеюсь, что он служит им, ребята:
Выходной: 03:25 вечера - 2017/10/03
источник
Вы можете просто использовать следующий код:
источник
Попробуй это
источник
Метод ниже вернет текущую дату и время в строке, используйте другой часовой пояс в соответствии с вашим фактическим часовым поясом. Я использовал GMT
источник
Вы должны использовать класс Calender в соответствии с новым API. Дата класса устарела сейчас.
источник
Попробуйте использовать следующий код:
источник