Java today date without time

Получить дату без времени на Java

В этом коротком учебнике мы покажем, как получить Дата без времени на Java.

Мы покажем, как это сделать до и после Java 8, так как все стало немного по-другому после выпуска нового API времени на Java 8.

2. Перед Java 8

До Java 8 не было прямого способа получить Дата без времени, если мы не использовали сторонние библиотеки, такие как Joda-time.

Это потому, Дата класс в Java является представлением определенного момента во времени, выраженного в миллисекундах . Таким образом, это делает невозможным игнорировать время на Дата .

В следующих разделах мы покажем некоторые общие обходные пути для решения этой проблемы.

2.1. Использование календаря

Один из наиболее распространенных способов получить Дата без времени, чтобы использовать Календарь класс, чтобы установить время до нуля . Делая это, мы получаем чистую дату, со временем, установленным в начале дня.

Давайте посмотрим его в коде:

public static Date getDateWithoutTimeUsingCalendar()

Если мы назовем этот метод мы получаем дату, как это:

Sat Jun 23 00:00:00 CEST 2018

Как мы видим, он возвращает полную дату со временем, установленным до нуля, но мы не можем игнорировать время, .

Кроме того, чтобы убедиться, что нет времени, установлено в Дата вернулся, мы можем создать следующий тест:

@Test public void whenGettingDateWithoutTimeUsingCalendar_thenReturnDateWithoutTime()

Как мы видим, когда мы добавляем к дате миллисекунды дня минус один мы все еще получаем тот же день, но когда мы добавляем полный день мы получаем на следующий день.

2.2. Использование Formatter

Другой способ сделать это, форматирование Дата в Струнные без времени, а затем преобразовать этот Струнные вернуться к Дата . С Струнные был отформатирован без времени Дата преобразуется будет иметь время, установленное до нуля.

Давайте реализуем его, чтобы увидеть, как это работает:

public static Date getDateWithoutTimeUsingFormat() throws ParseException < SimpleDateFormat formatter = new SimpleDateFormat( "dd/MM/yyyy"); return formatter.parse(formatter.format(new Date())); >

Эта реализация возвращается так же, как метод, показанный в предыдущем разделе:

Sat Jun 23 00:00:00 CEST 2018

Опять же, мы можем использовать тест, как мы делали раньше, чтобы убедиться, что нет времени в Дата возвращаемый.

Читайте также:  Get list data java

3. Использование Java 8

С выпуском нового API времени в Java 8, есть более простой способ получить дату без времени. Одна из новых функций, которые принес этот новый API, заключается в том, что существует несколько классов для работы с датами с или без времени, или даже для работы только со временем.

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

Давайте посмотрим на него с этим примером:

public static LocalDate getLocalDate()

Этот метод возвращает Местное объект с этим представлением даты:

Как мы видим, он возвращает только дату, время полностью игнорируется .

Опять же, давайте проверить его, как и прежде, чтобы убедиться, что этот метод работает, как ожидалось:

@Test public void whenGettingLocalDate_thenReturnDateWithoutTime()

4. Заключение

В этой статье мы показали, как получить Дата без времени на Java. Мы впервые показали, как это сделать до Java 8, а также с помощью Java 8.

Как мы могли видеть в примерах, реализованных в статье, используя Java 8 всегда должен быть предпочтительным вариантом , так как он имеет конкретное представление для работы с датами без времени.

Как всегда, полный исходный код примеров доступен более на GitHub .

Читайте ещё по теме:

Источник

How To Get Date without Time in Java

In this tutorial, we will be discussing the problem of how to get a date without time in java. Also, we will be displaying the date in a formatted way.

We will be understanding how the process gets worked and which all packages to import.

Program to Get Date Without Time in Java

In this program, we will be getting the date without the time class.

Initially, we will be importing “java.util.date” package.

Basically, this represents date and time in java. It provides constructors and required methods to deal with problems related to time and date.

Some of the methods include boolean before(Date date) for testing if the current date is before the given date, int compareTo(Date date) which compares the current date with any given date, etc.

Читайте также:  Пишем нейронную сеть python

Also, we imported “java.text.SimpleDateFormat” which provides particular methods for formatting and parsing date and time in java.

This is a concrete kind of class which is initially inherited from “java.text.DateFormat” class.

After importing the above packages, inside the main block, we create an instance of “SimpleDateFormat” named “formatter”.

We passed a pattern parameter to use for parsing and formatting of dates.

Now we created an object of the “Date” class which represents a specific instant in time.

Now since we have got the date, now is the turn to make it in a formatted manner.

For this purpose, we will use “formatter. format”.

Arguments that are passed are referenced by format specifiers in the format string.

Below is the program for getting the date without time in java:

import java.text.SimpleDateFormat; import java.util.Date; public class CurrentDate < public static void main(String[] args) < SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date date = new Date(); System.out.println(formatter.format(date)); >>

After the compilation of the above code, we would be getting our desired output with date in a formatted manner. (Note that you have to enter a valid date, you can learn How to check if the given date is valid or not in Java )

Below is Sample output for the above program:

Источник

Получить дату без времени в Java

В этом коротком руководстве мы покажем, как получитьDate без времени на Java.

Мы покажем, как это сделать до и после Java 8, поскольку после выпуска API нового времени в Java 8 все немного изменилось.

2. До Java 8

До Java 8 не было прямого способа получитьDate без времени, если только мы не использовали сторонние библиотеки, такие как Joda-time.

Это потому, чтоthe Date class in Java is a representation of a specific instant in time, expressed in milliseconds. Следовательно, это делает невозможным игнорировать время наDate.

В следующих разделах мы покажем некоторые общие обходные пути для решения этой проблемы.

2.1. ИспользуяCalendar

Один из наиболее распространенных способов получитьDate без времени — этоuse the Calendar class to set the time to zero. Делая это, мы получаем чистую дату с временем, установленным в начале дня.

public static Date getDateWithoutTimeUsingCalendar()

Если мы вызываем этот метод, мы получаем такую ​​дату:

Sat Jun 23 00:00:00 CEST 2018

Как мы видим, он возвращает полную дату с нулевым временем, ноwe can’t ignore the time.

Читайте также:  Python any and generator

Кроме того, чтобы убедиться, что в возвращаемыхDate не задано время, мы можем создать следующий тест:

@Test public void whenGettingDateWithoutTimeUsingCalendar_thenReturnDateWithoutTime()

Как мы видим, когда мы добавляем к дате миллисекунды дня минус один, мы все равно получаем тот же день, но когда мы добавляем полный день, мы получаем следующий день.

2.2. Использование форматтера

Другой способ сделать это —formatting a Date into a String without the time and then convert that String back to a Date. ПосколькуString был отформатирован без времени, для преобразованногоDate время будет установлено равным нулю.

Давайте реализуем это, чтобы увидеть, как это работает:

public static Date getDateWithoutTimeUsingFormat() throws ParseException < SimpleDateFormat formatter = new SimpleDateFormat( "dd/MM/yyyy"); return formatter.parse(formatter.format(new Date())); >

Эта реализация возвращает то же, что и метод, показанный в предыдущем разделе:

Sat Jun 23 00:00:00 CEST 2018

Опять же, мы можем использовать тест, как и раньше, чтобы убедиться, что в возвращаемыхDate нет времени.

3. Использование Java 8

С выпуском нового API времени в Java 8 появился более простой способ получить дату без времени. Одна из новых функций этого нового API заключается в том, что есть несколько классов для работы с датами со временем или без него или даже для работы только со временем.

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

Давайте посмотрим на это на следующем примере:

public static LocalDate getLocalDate()

Этот метод возвращает объектLocalDate с таким представлением даты:

Как мы видим, он возвращает только датуthe time is completely ignored.

Опять же, давайте проверим его, как и раньше, чтобы убедиться, что этот метод работает должным образом:

@Test public void whenGettingLocalDate_thenReturnDateWithoutTime()

4. Заключение

В этой статье мы показали, как получитьDate без времени на Java. Сначала мы показали, как это сделать до Java 8, а также с использованием Java 8.

Как мы могли видеть в примерах, реализованных в статье, с использованиемJava 8 should be always the preferred option, поскольку он имеет специальное представление для работы с датами без времени.

Как всегда, доступен полный исходный код примеровover on GitHub.

Источник

Оцените статью