Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Мастерство Java Date & Time: SimpleDateFormat, получение текущей даты и сравнение дат

Это руководство охватывает основы работы с датами и временем в Java, включая:

Java-объект Date представляет следующие компоненты:

Мастерство Java Date & Time: SimpleDateFormat, получение текущей даты и сравнение дат

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

Отображение текущей даты в Java

Класс java.util.Date в Java предоставляет простой способ получения текущей системной даты и времени. Ниже приведен минимальный пример:

import java.util.Date;
class DateExample {
    public static void main(String[] args) {
        Date current = new Date();
        System.out.println(current.toString());
    }
}

Вывод:

Wed Nov 29 06:36:22 UTC 2017

Вывод использует формат toString() по умолчанию. Чтобы представить дату в пользовательском макете, нужно отформатировать её явно.

SimpleDateFormat: Парсинг и форматирование дат

Java форматирует даты, используя строки-шаблоны, которые отображают буквы на конкретные компоненты даты. Ниже приведена справочная таблица:

БукваКомпонент даты или времениПример
GОбозначение эрыAD
yГод2018
MМесяц в годуJuly, Jul, 07
wНеделя в году27
WНеделя в месяце2
DДень в году189
dДень в месяце10
FДень недели в месяце2
EНазвание дня в неделеTuesday, Tue
uНомер дня недели (1=Пн … 7=Вс)1
aМаркер AM/PMPM
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Часовой поясPacific Standard Time; PST; GMT-08:00
ZСмещение часового пояса-0800
XЧасовой пояс-08, -0800, -08:00

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

Использование SimpleDateFormat

Класс SimpleDateFormat позволяет определить шаблон для форматирования или парсинга дат. Например:

Совет: Внимательно следите за регистром — использование M для месяцев и m для минут критически важно.

import java.text.SimpleDateFormat;
import java.util.Date;
class TestDatesFormat {
    public static void main(String[] args) {
        Date now = new Date();
        System.out.println(now);
        String pattern = "hh:mm:ss a dd-MMM-yyyy";
        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
        System.out.println(sdf.format(now));
    }
}

Вывод:

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

Сравнение дат

Мастерство Java Date & Time: SimpleDateFormat, получение текущей даты и сравнение дат

Наиболее надежный метод сравнения дат в Java — compareTo(), который возвращает отрицательное значение, если первая дата раньше, ноль, если равны, и положительное значение, если позже.

import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
class TestDatesCompare {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        Date date1 = sdf.parse("20-08-1981");
        Date date2 = sdf.parse("12-10-2012");
        System.out.println("Date1 : " + sdf.format(date1));
        System.out.println("Date2 : " + sdf.format(date2));
        if (date1.compareTo(date2) > 0) {
            System.out.println("Date 1 occurs after Date 2");
        } else if (date1.compareTo(date2) < 0) {
            System.out.println("Date 1 occurs before Date 2");
        } else {
            System.out.println("Both dates are the same");
        }
    }
}

Вывод:

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

java

  1. Расчет напряжения и тока в реактивных DC цепях
  2. Получение текущей даты и времени в Python: практическое руководство
  3. Python: получение текущего времени и работы с часовыми поясами
  4. Освоение операторов Java: типы, синтаксис и практические примеры
  5. Комментарии в Java: типы, использование и лучшие практики
  6. Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
  7. Работа с датой и временем в Java: Date, SimpleDateFormat, printf, GregorianCalendar
  8. Полное руководство по дате и времени в C++
  9. Java 10: временная версияция для предсказуемых полугодовых обновлений
  10. Java 8: Новый надежный Date/Time API — Полное руководство