Дата и дата Java & Время: SimpleDateFormat, Текущая дата и amp; Сравнивать

Содержание:

Anonim

В этом руководстве вы узнаете -

  • Отображение текущей даты в Java
  • SimpleDateFormat: синтаксический анализ и форматирование дат
  • Пример сравнения дат

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

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

  • Год (в 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 constructorDate objDate = new Date();// Display the Date & Time using toString()System.out.println(objDate.toString());}}

Выход:

Wed Nov 29 06:36:22 UTC 2017

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

SimpleDateFormat: синтаксический анализ и форматирование дат

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

….

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

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

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

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

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

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

1) Требуемый формат даты: 2012.10.23 20:20:45 PST

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

2) Требуемый формат даты: 09:30:00 23 мая 2012 г.

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

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

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

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 objDateSystem.out.println(objDate);String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is SpecifiedSimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format objectSystem.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date}}

Выход:

Wed Nov 29 06:31:41 UTC 201706: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-1981Date2 : 12-10-2012Date 1 occurs before Date 2