@mostro12

Как осуществлять работу с датой в Java?

В поля класса нужно вводить дату в формате DD MM YYYY HH MM SS, и после производить логические вычисления с датами (Пример 01.01.2016. 00:00:00 > 01.01.2013 00:00:00 ? ) Подскажите как можно реализовать данную задачу?
  • Вопрос задан
  • 481 просмотр
Пригласить эксперта
Ответы на вопрос 4
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Для восьмой явы - код ниже. Для всех остальных - joda.org
package jtests;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;

public class MyTest3 {

	public static void main(String[] args) {
		DateTimeFormatter fmt = new DateTimeFormatterBuilder()
				.appendPattern("dd.MM.yyyy. HH:mm:ss")
				.toFormatter();
		
		LocalDateTime t1 = LocalDateTime.parse("01.01.2016. 00:00:00", fmt);
		LocalDateTime t2 = LocalDateTime.parse("01.01.2013. 00:00:00", fmt);
		
		System.out.println(t1);
		System.out.println(t2);
		System.out.println(t1.isAfter(t2));
		System.out.println(t2.isAfter(t1));
	}
}
Ответ написан
Комментировать
Konstantin18ko
@Konstantin18ko
Стоматолог
Использовать Date, и методы связанные с этим типом.
Ответ написан
Комментировать
import java.time.*;

LocalDateTime date1 = LocalDateTime.of(2016, Month.JULY, 14, 20, 25);
LocalDateTime date2 = LocalDateTime.of(2016, Month.JULY, 13, 20, 25);

date1.compareTo( date2 )

Метод compareTo() возвращает:

0 - если оба экземпляра равны;
1 - если дата, метод которой вызывается, находится после даты, которая поступает в метод как параметром;
-1 - если дата, метод которой вызывается, находится до даты, которая поступает в метод как параметр.

Метод isAfter() возвращает true ТОЛЬКО тогда, когда дата, метод которой вызывается, находится ПОСЛЕ даты, которая поступает в метод как параметром. Т.е., если для этих же объектов выполнить метод compareTo(), то он вернет 1.

Метод isBefore() возвращает true ТОЛЬКО тогда, когда дата, метод которой вызывается, находится ДО даты, которая поступает в метод как параметр. Т.е., если для этих же объектов выполнить метод compareTo(), то он вернет -1.

Метод isEqual() возвращает true если обе даты одинаковы.
Ответ написан
Комментировать
@aol-nnov
буду оригинален: joda time :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы