Java Дата и время

Давайте сначала разберемся с параметрами, которые состоят из Время.

Как использовать дату в Java

В первую очередь он будет содержать –

  • Команда год (2 или 4 цифры)
  • Команда месяц (либо 2 цифры, первые 3 буквы месяца или все слово месяца).
  • Команда даты (это будет фактическое число месяца).
  • Команда день (день в указанную дату – например, воскресенье, понедельник, вторник и т. д.)

Что касается компьютерных систем, существует довольно много параметров, которые можно использовать для связи с датой. Мы увидим их в следующих частях этой темы.

Отображение даты в Java

Теперь давайте посмотрим, как Java сообщите нам дату. Сначала мы увидим, как получить текущую дату.

Java предоставляет класс Date в пакете java.util. Пакет предоставляет несколько методов для работы с датой.

Вы можете использовать объект Date, вызвав конструктор класса Date следующим образом:

import java.util.Date;
class Date_Ex1 {
 public static void main(String args[]) {
  // Instantiate a Date object by invoking its constructor
  Date objDate = new Date();
  // Display the Date & Time using toString()
  System.out.println(objDate.toString());
 }
}

Вывод:

Wed Nov 29 06:36:22 UTC 2017

В приведенном выше примере дата показана в формате по умолчанию. Если мы хотим показать дату и время в другом формате, сначала разберитесь с форматированием даты.

SimpleDateFormat: анализ и форматирование дат

Вы все, должно быть, выучили алфавит в детском саду….

Давайте теперь изучим азбуку формата даты.

Письмо Компонент даты или времени Примеры
G Обозначение эпохи AD
y Год 2018
M Месяц в году июль или июль или 07
w Неделя в году 27
W Неделя в месяц 2
D День в году 189
d День в месяце 10
F День недели в месяце 2
E Название дня недели вторник или вторник
u Номер дня недели (1 = Monday, …, 7 = воскресенье) 1
a Маркер am / pm PM
H Час в день (0-23) 0
k Час в день (1-24) 24
K Час в am / pm (0-11) 0
h Час в am / pm (1-12) 12
m Минута в час 30
s Секунда в минуту 55
S миллисекунды 978
z Часовой пояс Тихоокеанское стандартное время; ТИХООКЕАНСКОЕ СТАНДАРТНОЕ ВРЕМЯ; GMT-08: 00
Z Часовой пояс -0800
X Часовой пояс -08 или -0800 или -08:00

Не волнуйтесь, вам не нужно запоминать все это, их можно использовать в любое время, когда вам понадобится отформатировать определенную дату.

Как использовать SimpleDateFormat?

Java предоставляет класс SimpleDateFormat, который позволяет вам форматировать и анализировать даты в соответствии с вашими требованиями.

Вы можете использовать приведенные выше символы для указания формата:

Например:

1) Требуемый формат даты: 2012.10.23 20:20:45 по тихоокеанскому стандартному времени

Соответствующий указанный формат даты будет: гггг.ММ.дд ЧЧ:мм:сс zzz

2) Требуемый формат даты:09:30:00 AM 23-May-2012

Соответствующий указанный формат даты будет:чч:мм:сс и дд-МММ-гггг

Наконечник: Будьте осторожны с заглавными буквами. Если вы перепутаете М с М, вы получите нежелательные результаты!

Давайте изучим это на примере кода.

import java.text.SimpleDateFormat;
import java.util.Date;
class TestDates_Format {
 public static void main(String args[]) {
  Date objDate = new Date(); // Current System Date and time is assigned to objDate
  System.out.println(objDate);
  String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is Specified
  SimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format object
  System.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date
 }
}

Вывод:

Wed Nov 29 06:31:41 UTC 2017
06:31:41 AM 29-Nov-2017

Пример сравнения дат

Пример сравнения дат

Самый полезный метод сравнения дат — использование метода CompareTo().

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

import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;

class TestDates_Compare {
 public static void main(String args[]) throws ParseException {

  SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy");
  Date dt_1 = objSDF.parse("20-08-1981");
  Date dt_2 = objSDF.parse("12-10-2012");

  System.out.println("Date1 : " + objSDF.format(dt_1));
  System.out.println("Date2 : " + objSDF.format(dt_2));

  if (dt_1.compareTo(dt_2) > 0) {
   System.out.println("Date 1 occurs after Date 2");
  } // compareTo method returns the value greater than 0 if this Date is after the Date argument.
  else if (dt_1.compareTo(dt_2) < 0) {
   System.out.println("Date 1 occurs before Date 2");
  } // compareTo method returns the value less than 0 if this Date is before the Date argument;
  else if (dt_1.compareTo(dt_2) == 0) {
   System.out.println("Both are same dates");
  } // compareTo method returns the value 0 if the argument Date is equal to the second Date;
  else {
   System.out.println("You seem to be a time traveller !!");
  }
 }
}

Вывод:

Date1 : 20-08-1981
Date2 : 12-10-2012
Date 1 occurs before Date 2

Ежедневная рассылка Guru99

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