Java Data i czas

Przyjrzyjmy się najpierw parametrom składającym się z a Data.

Jak korzystać z daty w Java

Będzie zawierać przede wszystkim –

  • Kolekcja rok (w 2 lub 4 cyfrach)
  • Kolekcja miesiąc (2 cyfry, pierwsze 3 litery miesiąca lub całe słowo miesiąca).
  • Kolekcja dane (będzie to faktyczna data miesiąca).
  • Kolekcja dzień (dzień w danej dacie – np. niedziela, poniedziałek, wtorek itp.)

Jeśli chodzi o systemy komputerowe, istnieje wiele parametrów, które można wykorzystać do skojarzenia z datą. Zobaczymy je w dalszych częściach tego tematu.

Wyświetl datę w Java

Teraz zobaczmy jak Java podaj nam datę. Najpierw zobaczymy, jak uzyskać bieżącą datę-

Java udostępnia klasę Date w pakiecie java.util. Pakiet udostępnia kilka metod umożliwiających zabawę z datą.

Obiektu Date można użyć wywołując konstruktor klasy Date w następujący sposób:

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());
 }
}

Wyjście:

Wed Nov 29 06:36:22 UTC 2017

W powyższym przykładzie data pokazana w formacie domyślnym. Jeśli chcemy pokazać datę i godzinę w innym formacie, najpierw zapoznaj się z formatowaniem daty.

SimpleDateFormat: analizuj i formatuj daty

Każdy z Was musiał uczyć się alfabetu w swoim przedszkolu….

Nauczmy się teraz ABC formatu daty.

List Składnik daty lub godziny Przykłady
G Oznaczenie epoki AD
y Rok 2018
M Miesiąc w roku Lipiec lub lipiec lub 07
w Tydzień w roku 27
W Tydzień w miesiącu 2
D Dzień w roku 189
d Dzień w miesiącu 10
F Dzień tygodnia w miesiącu 2
E Nazwa dnia w tygodniu wtorek lub wtorek
u Numer dnia tygodnia (1 = Monday, …, 7 = niedziela) 1
a Znacznik am/pm PM
H Godzina w dniu (0-23) 0
k Godzina w dniu (1-24) 24
K Godzina w am/pm (0-11) 0
h Godzina w am/pm (1-12) 12
m Minuta w godzinie 30
s Drugi w ciągu minuty 55
S Milisekunda 978
z strefa czasu Czas pacyficzny; PST; GMT-08:00
Z strefa czasu -0800
X strefa czasu -08 lub -0800 lub -08:00

Nie martw się, nie musisz o tym wszystkim pamiętać, możesz do nich zajrzeć w dowolnym momencie, gdy chcesz sformatować konkretną datę.

Jak korzystać z SimpleDateFormat?

Java udostępnia klasę o nazwie SimpleDateFormat, która umożliwia formatowanie i analizowanie dat zgodnie z własnymi wymaganiami.

Możesz użyć powyższych znaków, aby określić format-

Na przykład:

1) Wymagany format daty: 2012.10.23, 20:20:45 czasu PST

Określony odpowiedni format daty będzie: rrrr.MM.dd GG:mm:ss zzz

2) Wymagany format daty:09:30:00 AM 23-May-2012

Określony odpowiedni format daty będzie:gg:mm:ss i dd-MMM-rrrr

Wskazówka: Uważaj na wielkość liter. Jeśli pomylisz M z m, otrzymasz niepożądane rezultaty!

Nauczmy się tego na przykładzie kodu.

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
 }
}

Wyjście:

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

Przykład porównania dat

Przykład porównania dat

Najbardziej użyteczną metodą porównywania dat jest metoda – CompareTo()

Rzućmy okiem na poniższy fragment kodu-

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 !!");
  }
 }
}

Wyjście:

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

Codzienny biuletyn Guru99

Rozpocznij dzień od najnowszych i najważniejszych wiadomości na temat sztucznej inteligencji, dostarczanych już teraz.