Как преобразовать текущую дату в строку в Java?Как преобразовать текущую дату в строку в java?
ответ
// On the form: dow mon dd hh:mm:ss zzz yyyy
new Date().toString();
Использовать DateFormat
исполнение; например SimpleDateFormat
.
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String data = df.format(new Date());
FYI, эти неприятные классы теперь являются устаревшими, вытесняются классами java.time. См. [Учебник по Oracle] (https://docs.oracle.com/javase/tutorial/datetime/TOC.html). –
// GET DATE & TIME IN ANY FORMAT
import java.util.Calendar;
import java.text.SimpleDateFormat;
public static final String DATE_FORMAT_NOW = "yyyy-MM-dd HH:mm:ss";
public static String now() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
return sdf.format(cal.getTime());
}
Взятые из here
Лучший ответ для использования Календарь вместо даты. – Random
Я смущен. В чем юниверс «Календарь» более желателен, чем «Дата»? – jasonmp85
Его фактически все еще используют 'Date', потому что' Calendar # getTime() 'возвращает' Date' ... – brimborium
String date = new SimpleDateFormat("dd-MM-yyyy").format(new Date());
Желание я мог бы дать более 1 голоса. – TimeTrap
Используется комбинация этого и ответа справа внизу для timestring. C: –
@Ian Purton Является ли строка датой в UTC tz ..? –
Быстрее:
String date = FastDateFormat.getInstance("dd-MM-yyyy").format(System.currentTimeMillis());
Требуется org.apache.commons –
ТЛ; Др
LocalDate.now()
.toString()
2017-01-23
Лучше конкретно указать желаемый/ожидаемый часовой пояс.
LocalDate.now(ZoneId.of("America/Montreal"))
.toString()
java.time
Современный способ, как из Java 8, а затем это с java.time рамки.
Укажите часовой пояс, так как дата варьируется в разных частях света в любой момент.
ZoneId zoneId = ZoneId.of("America/Montreal") ; // Or ZoneOffset.UTC or ZoneId.systemDefault()
LocalDate today = LocalDate.now(zoneId) ;
String output = today.toString() ;
2017-01-23
По умолчанию вы получаете строку в стандартном формате ISO 8601.
Для других форматов используйте класс java.time.format.DateTimeFormatter
.
О java.time
java.time каркас встроен в Java 8 и более поздних версий. Эти классы вытесняют неприятные старые классы времени, такие как java.util.Date
, .Calendar
, & java.text.SimpleDateFormat
.
Проект Joda-Time, теперь в maintenance mode, советует перейти на java.time.
Чтобы узнать больше, см. Oracle Tutorial. И поиск Stack Overflow для многих примеров и объяснений.
Большая часть функциональности java.time будет обратно портирован на Java 6 & 7 в ThreeTen-Backport и дополнительно выполнен с возможностью Android в ThreeTenABP (см How to use…).
Проект ThreeTen-Extra расширяет java.time с дополнительными классами. Этот проект является доказательством возможных будущих дополнений к java.time. Здесь вы можете найти полезные классы, такие как Interval
, YearWeek
, YearQuarter
и другие.
Большинство ответов были/были действительны. Новая модификация JAVA API для обработки даты помогла уменьшить некоторую более раннюю двусмысленность в обработке дат java.
Вы получите устаревшее сообщение для аналогичных вызовов.
new Date() // deprecated
Приведенный выше вызов заставил разработчика предположить, что новый объект Date предоставит объект Date с текущей меткой времени. Это поведение несовместимо с другими классами Java API.
Новый способ сделать это с помощью Календарь Экземпляры.
new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()
Здесь также соглашение об именах не является совершенным, но это очень организовано. Для такого человека, как я, у которого есть трудное время, занимаясь делом, но никогда не забудет что-то, если оно звучит/кажется логичным, это хороший подход.
Это больше синонима реальной жизни
- Получает объект Calendar, и мы ищем время в нем. (вам должно быть интересно, что никакое тело не получает время из Календаря, поэтому я сказал, что оно не идеально. Но это совсем другая тема вообще)
- Затем мы хотим, чтобы дата была в простом текстовом формате, поэтому мы используем SimpleDateFormat, который помогает нам форматировать дату с шага 1. Я использовал yyyy, MM, dd в качестве параметров в формате. Supported date format parameters
Еще один способ сделать это с помощью Joda времени API
new DateTime().toString("yyyy-MM-dd")
или столь очевидное
new DateTime(Calendar.getInstance().getTime()).toString("yyyy-MM-dd")
оба будут возвращать один и тот же результат.
FYI, неприятные старые классы времени, такие как ['java.util.Date'] (https://docs.oracle.com/javase/8/docs/api/java/util /Date.html), 'java.util.Calendar' и' java.text.SimpleTextFormat' теперь [legacy] (https://en.wikipedia.org/wiki/Legacy_system), вытесненные [java.time ] (https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html). Кроме того, проект [Joda-Time] (http://www.joda.org/joda-time/) теперь находится в [режиме обслуживания] (https://en.wikipedia.org/wiki/Maintenance_mode), с команда, предлагающая переход на java.time. –
@BasilBourque Вот что я имел в виду в своем ответе, что главный проголосовавший ответ прав, но не имеет отношения к современному разработчику. Наконец, у java будет класс Clock, а Clock.getTime() будет гораздо более разумным и реалистичным, чем Date или DateTime или Time. Разработчики Java должны знать, что OOPS запускается как нечто, что имитирует реальные сценарии жизни. –
FYI, реализация 'Clock' в Java 8 точно такая же, как и унаследованные классы. Только в Java 9 появляется новая реализация, способная зафиксировать текущий момент с разрешением как на наносекундах. –
public static Date getDateByString(String dateTime) {
if(dateTime==null || dateTime.isEmpty()) {
return null;
}
else{
String modified = dateTime + ".000+0000";
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date dateObj = new Date();
Date dateObj1 = new Date();
try {
if (dateTime != null) {
dateObj = formatter.parse(modified);
}
} catch (ParseException e) {
e.printStackTrace();
}
return dateObj;
}
}
Мы можем передать любой формат, который вы используете –
Некоторые объяснения по поводу этого фрагмента кода, вероятно, будут полезными. – Pyves
Ответ не относится к вопросу. И Нет, вы не можете передать дату в любом формате 'String' для вашей функции. –
Для времени, как YYYY-MM-DD
String time = new DateTime(yourData).toString("yyyy-MM-dd");
и библиотека DateTime является:
импорт org.joda.time.DateTime;
А какая библиотека 'DateTime'? Ответ на переполнение стека должен иметь некоторое объяснение, поскольку этот сайт должен быть больше, чем библиотека фрагментов. –
- 1. Как преобразовать строку в дату Java
- 2. Как преобразовать строку в дату? JAVA
- 3. Как преобразовать строку и дату в java
- 4. Как преобразовать текущую дату в определенный номер в Java
- 5. Как преобразовать текущую дату в цифровую форму?
- 6. Установить строку как текущую дату
- 7. Как преобразовать дату в UTC в Java?
- 8. Как преобразовать дату в строку
- 9. Как преобразовать строку в дату?
- 10. Как преобразовать строку в дату?
- 11. Java - преобразовать строку (EEST включены) в дату
- 12. Создать текущую дату в Java
- 13. SqlDataReader - Как преобразовать текущую строку в словарь
- 14. Как получить текущую дату java?
- 15. Как получить текущую дату сотой в Java
- 16. Как преобразовать строку timestamp в дату в java
- 17. Как преобразовать эту строку в стандартную дату в java?
- 18. Как преобразовать дату в строку в JavaScript?
- 19. Как преобразовать строку в дату в mysql?
- 20. Как преобразовать дату в строку в plsql?
- 21. Как преобразовать дату в строку в php?
- 22. MySQL преобразовать строку в дату
- 23. Как преобразовать строку timestamp в дату fromat в android?
- 24. Преобразовать следующую строку в дату
- 25. Как узнать текущую дату в штампе j2me?
- 26. Как преобразовать время в строку
- 27. Как преобразовать строку в DateTime в Java
- 28. Как преобразовать пустую строку в пустую дату?
- 29. Как преобразовать строку в дату (php)?
- 30. Как преобразовать строку в дату? Visual Basic
Это покажет дату и время, а не только текущую дату. – Adamski
Жаль из-за перенапряжения. – jasonmp85
Формат, используемый этим методом, ужасен. Кроме того, неявно применяется текущий часовой пояс вашего KVM, поэтому ваши результаты будут отличаться. И эти неприятные классы теперь являются наследием, вытесняемым классами java.time. См. [Учебник по Oracle] (https://docs.oracle.com/javase/tutorial/datetime/TOC.html). –