Как получить текущую дату java
Для получения текущей даты в Java можно использовать класс java.time.LocalDate Пример:
import java.time.LocalDate; public class Main public static void main(String[] args) LocalDate currentDate = LocalDate.now(); System.out.println("Текущая дата: " + currentDate); > >
Вызов LocalDate.now() возвращает текущую дату в системном часовом поясе. Метод toString() преобразует объект LocalDate в строку в формате ISO , например, «2023-03-31».
Как получить текущую дату и время
Чтобы получить дату и время в момент общения с ботом в указанном часовом поясе, вы можете воспользоваться нашим сервисом Текущие дата и время.
Для использования сервиса добавьте в сценарий блок HTTP-запрос с методом GET и пропишите URL следующим образом:
Этот URL выдаст дату по Москве в формате dd/MM/yyyy . Вы также можете выводить дату и время согласно другим часовым поясам и форматам.
Чтобы использовать данные, полученные по запросу, добавьте переменную в блоке HTTP-запрос. Например, $time со значением $httpResponse :
Параметры для использования в URL
В качестве параметров запроса можно указать:
- tz — код часового пояса;
- format — формат даты и времени.
Подробнее о списке кодов и формате часовых поясов
Оба параметра являются необязательными. Если вы их не укажете, сервис вернет текущие дату и время в часовом поясе UTC в формате dd.MM.yyyy HH:mm .
Чтобы проверить, правильно ли вы указали параметры в URL-адресе запроса, вы можете ввести URL в поисковую строку браузера.
Ответ сервиса
Ответ на запрос с параметрами
Например, так выглядит запрос даты и времени в Австралии, Сидней:
При запросе с передачей параметров tz и format сервис возвращает JSON следующего вида:
"timezone": "Australia/Sydney", "formatted": "21/05/2020", "timestamp": 1590063706359, "weekDay": 4, "day": 21, "month": 5, "year": 2020, "hour": 22, "minute": 21 >
Ответ сервиса сохраняется в переменную из HTTP-запроса — в данном случае $time . Вы можете использовать ее дальше в сценарии.
Например, вы можете вывести данный ответ в блоке Текст, связав с ним вариант Завершен успешно из HTTP-запроса. Будет выведено содержимое переменной $time .
Ответ на запрос без параметров
Запрос без параметров будет выглядеть следующим образом:
При запросе без передачи дополнительных параметров tz и format сервис возвращает JSON следующего вида:
"timezone":"Etc/UTC", "formatted":"17.09.2021 13:18", "timestamp":1631884709357, "weekDay":5, "day":17, "month":9, "year":2021, "hour":13, "minute":18 >
Вывод конкретного поля из ответа на запрос
По умолчанию сервис Текущие дата и время выводит ответ на запрос в формате JSON. Однако для дальнейшего использования в сценарии вам может понадобиться не весь JSON, а отдельные его поля — например, месяц или число.
Чтобы использовать конкретное поле, в сценарии запишите переменную в формате $(имя переменной).(поле) .
Например, если вы ранее сохранили ответ на запрос в переменной $time , для получения текущего числа в сценарии напишите $time.day .
Использование для вычислений
Вы можете использовать полученную информацию о дате и времени для дальнейших вычислений с использованием блока Условия либо с помощью вебхуков.
Вывести текущую дату
Вопрос наверное глупый и многим покажется несерьезным, но я вынужден его задать, т.к. сам решения не нашел. Нужно вывести в TextView дату в таком виде: Число.Месяй.Год (пример: 27.04.2017). Важный нюанс: работать должно на API 19 и выше.
Отслеживать
задан 26 апр 2017 в 17:46
197 1 1 серебряный знак 9 9 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Можно, например, сделать таким способом:
String date = new SimpleDateFormat("dd.MM.yyyy").format(new Date());
Отслеживать
ответ дан 26 апр 2017 в 18:18
Кирилл Малышев Кирилл Малышев
10.8k 1 1 золотой знак 18 18 серебряных знаков 34 34 бронзовых знака
Тоже работает, но с API 25 и выше, а на с API 19 и выше.
26 апр 2017 в 18:24
@Evgeny, вы не правы. Класс доступен с API 1. Переходим по ссылке: developer.android.com/reference/java/text/SimpleDateFormat.html и в правом верхнем углу указана версия API с которой он доступен
26 апр 2017 в 21:16
Самый простой и удобный вариант. Спасибо!
29 апр 2017 в 8:36
@Evgeny, если вас устраивает ответ, отметьте его как принятый, нажав на галочку.
29 апр 2017 в 10:08
DateFormat dateFormat = SimpleDateFormat.getDateInstance(SimpleDateFormat.SHORT); String text = dateFormat.format(dateValue);
Форматирование даты будет в соответствии с настройками локали пользователя.
Отслеживать
ответ дан 26 апр 2017 в 18:05
Eugene Krivenja Eugene Krivenja
11.7k 3 3 золотых знака 24 24 серебряных знака 33 33 бронзовых знака
Но это будет работать только на API 24 и выше. А мне необходимо начиная с API 19 и выше
26 апр 2017 в 18:16
Надо импортировать java.text.SimpleDateFormat и java.text.DateFormat. stackoverflow.com/questions/39055963/…
26 апр 2017 в 18:21
А что это даст?
26 апр 2017 в 18:24
Эти классы добавлены с API 1
26 апр 2017 в 18:30
@Evgeny если существует более одного класса с одинаковым именем, но из разных пакетов, то AS не добавляет любой по своему желанию, а предлагает выбрать из имеющихся. Вам нужно выбрать из пакета java.text . Вообще, ответ правильный и никто вам другого не напишет, то что вы не можете справится с автоимпортом, как бы ваша проблема. Отключите его вообще и делайте импорт вручную тогда.
Команды консоли/time
Материалы сообщества доступны в соответствии с условиями лицензии CC BY-NC-SA, если не указано иное.
Advertisement
Fan Feed
- 1 Зельеварение
- 2 Зачаровывание
- 3 Кузнечный шаблон
Наши ресурсы
В социальных сетях
Обзор
- Что такое Фэндом?
- О нас
- Вакансии
- В прессе
- Обратная связь
- Условия использования
- Конфиденциальность
- Общая карта сайта
- Локальная карта сайта
Сообщество
- Вики Сообщества
- Поддержка
- Справка
- Запретить продажу данных
Реклама на сайте
Приложения Фэндома
Оставайтесь в курсе всего происходящего на ваших любимых сообществах.
Minecraft Wiki — это сообщество Фэндома на портале Видеоигры.