Java에서 YYYY-MM-DD 형식의 달력 날짜

Shikha Chaudhary 2023년10월12일
  1. Java에서 날짜를 YYYY-MM-DD 형식으로 변환
  2. Java에서 날짜 형식을 YYYY-MM-DD 형식으로 지정
  3. Java에서 SimpleDateFormat 클래스 사용
  4. 결론
Java에서 YYYY-MM-DD 형식의 달력 날짜

Java Date는 현재 시간과 날짜를 캡슐화합니다. 날짜 클래스는 Date()Date(long millisec) 생성자의 두 가지 생성자의 도움을 받아 이를 수행합니다.

Date() 생성자를 사용하여 현재 시간과 날짜로 객체를 초기화합니다. 반면 Date(long millisec) 생성자는 1970년 1월 1일 자정 이후의 밀리초 수를 인수로 사용합니다.

그러나 우리가 얻는 출력은 yyyy-MM-dd 형식이 아닙니다. 이 문서에서는 이 형식으로 출력을 생성하는 방법을 보여줍니다.

Java에서 date() 메소드를 사용하여 현재 날짜와 시간을 가져옵니다. 이를 위해 toString() 메서드와 함께 Date 객체를 사용합니다. 아래의 예를 보고 이해하세요.

import java.util.Date;
public class DateExample {
  public static void main(String args[]) {
    // Create a date object
    Date date_of_today = new Date();

    // Use toString() to print the date
    System.out.println(date_of_today.toString());
  }
}

출력:

Mon Jan 10 09:58:43 UTC 2022

이 예제에서는 date_of_today를 사용하여 DDate 개체를 인스턴스화하고 toString() 메서드를 사용하여 날짜를 인쇄합니다. 우리가 얻는 출력에는 시:분:초 형식의 일, 월, 날짜 및 연도와 시간이 포함됩니다.

이것은 우리가 둘 이상의 날짜로 작업할 때 문제를 야기합니다. 이 출력에서 ​​날짜와 시간의 이름을 제거하기 위해 두 가지 방법으로 printf() 메서드를 사용할 수 있습니다. 첫 번째는 %$ 기호를 사용합니다.

아래의 예를 보십시오.

import java.util.Date;
public class DateExample {
  public static void main(String args[]) {
    // Create a new object
    Date date_of_today = new Date();

    // Display the date
    System.out.printf("%1$s %2$tB %2$td, %2$tY", "Date:", date_of_today);
  }
}

출력:

Date: January 10, 2022

두 번째 방법은 < 플래그를 사용하는 것입니다. 같은 예를 다시 보십시오.

import java.util.Date;
public class DateExample {
  public static void main(String args[]) {
    // Create a new object
    Date date_of_today = new Date();

    // display the date
    System.out.printf("%s %tB %<te, %<tY", "Date:", date_of_today);
  }
}

출력:

Date: January 10, 2022

이 예에서는 시간이 생략되었습니다. 그러나 여전히 yyyy-MM-dd 형식의 출력을 얻지 못합니다. 이 문제를 처리하는 방법을 살펴보겠습니다.

Java에서 날짜를 YYYY-MM-DD 형식으로 변환

Java에는 java.time 패키지가 있습니다. 날짜 클래스를 사용하여 날짜와 시간을 처리하는 대신 java.time 패키지를 사용할 수 있습니다. 먼저 예를 살펴보겠습니다.

// import the java.time package
import java.time.LocalDate;

public class DemoOfDate {
  public static void main(String[] args) {
    // create an object for date
    LocalDate date_of_today = LocalDate.now();

    // Display the date
    System.out.println(date_of_today);
  }
}

출력:

2022-01-10

이 예제에서는 java.time 패키지와 LocalDate 클래스를 사용합니다. 이번에는 yyyy-MM-dd 형식의 출력을 얻습니다. java.time 패키지에는 4개의 기본 클래스가 있습니다.

  • LocalDate - 년, 월, 일 또는 yyyy-MM-dd 형식의 날짜를 출력으로 제공합니다.
  • LocalTime - HH-mm-ss-ns로 시간 및 나노초 단위로 출력을 제공합니다.
  • LocalDateTime - 날짜와 시간 모두 yyyy-MM-dd-HH-mm-ss-ns로 출력됩니다.
  • DateTimeFormatter - 날짜-시간 개체에 대한 포맷터 역할을 하며 개체를 표시하고 구문 분석하는 데 사용됩니다.

위의 예에서는 LocalDate 클래스를 사용하고 있습니다. 또한 now() 메서드를 사용합니다. Java의 now() 메소드는 LocalTime 클래스의 메소드입니다. 시스템 시계에서 기본 시간대의 현재 시간을 가져옵니다.

통사론:

public static LocalTime now()

now() 메소드에서 매개변수를 전달하지 않습니다. 또 다른 방법은 yyyy-MM-dd 형식으로 출력을 얻는 것입니다. 그것도 살펴보자. 문서에 대한 링크입니다.

Java에서 날짜 형식을 YYYY-MM-DD 형식으로 지정

달력 날짜를 yyyy-MM-dd 형식으로 변경하기 위해 형식화 개념을 사용할 수도 있습니다. 날짜 및 시간 작업을 훨씬 더 유연하게 만듭니다.

이를 위해 java.time 패키지에 있는 ofPattern() 메소드를 사용합니다. ofPattern() 메서드를 사용하여 출력을 얻을 수 있는 다양한 방법은 다음과 같습니다.

  • yyyy-MM-dd - This gives the output as 2022-01-25
  • dd/MM/yyyy - This gives the output as 25/01/2022
  • dd-MMM-yyyy - This gives the output as 25/01/2022
  • E, MMM dd yyyy - This gives the output as Tue, Jan 25 2022

예를 들어 보겠습니다.

// import the LocalDateTime class
import java.time.LocalDateTime;
// import the DateTimeFormatter class
import java.time.format.DateTimeFormatter;

public class DemoOfDate {
  public static void main(String[] args) {
    LocalDateTime date_of_today = LocalDateTime.now();

    System.out.println("Output before formatting: " + date_of_today);
    DateTimeFormatter format_date_of_today = DateTimeFormatter.ofPattern("yyyy-MM-dd");

    String formattedDate = date_of_today.format(format_date_of_today);
    System.out.println("Output after formatting: " + formattedDate);
  }
}

출력:

Output before formatting: 2022-01-01T10:46:21.449669400
Output after formatting: 2022-01-01

형식을 사용하여 yyyy-MM-dd 형식으로 출력을 얻을 수 있습니다. 또한 이러한 모든 형식의 값을 이동할 수 있습니다.

예를 들어 ofPattern() 메서드에서 yyyy-MM-dd 문자열을 전달할 때 해당 문자열을 yyyy-dd-MM 또는 dd-MM-yyyy 또는 다른 방법으로 변경할 수 있습니다. 필요에 따라. 이는 ofPattern() 메서드에서 제공하는 모든 형식에 적용됩니다.

여기에서 format() 메소드를 하나 더 사용합니다. format() 메소드는 Java에서 주어진 로케일, 인수 및 형식으로 문자열을 형식화합니다.

로케일을 지정하지 않으면 format() 메소드는 Locale.getDefault() 메소드를 호출하여 기본 로케일을 가져옵니다. format() 메소드는 printf() 함수처럼 작동합니다.

Java에서 SimpleDateFormat 클래스 사용

yyyy-MM-dd 형식으로 출력을 얻으려면 SimpleDateFormat 클래스를 사용할 수 있습니다. Java에서 날짜 및 시간을 형식화(날짜를 문자열로 변경) 및 구문 분석(문자열을 날짜로 변경)하는 방법을 제공합니다.

이를 상속함으로써 java.text.DateFormat 클래스와 함께 작동합니다. 예를 들어 보겠습니다.

import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo {
  public static void main(String[] args) {
    Date date_of_today = new Date();
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    String stringDate = format.format(date_of_today);
    System.out.println(stringDate);
  }
}

출력:

2022-01-01

Java의 SimpleDateFormat 클래스에 대한 자세한 내용은 이 문서를 참조하십시오.

결론

이 기사에서는 Java에서 달력 날짜를 yyyy-MM-dd 형식으로 변경하는 방법에 대해 설명했습니다. 여기에는 java.time 패키지 사용, toPattern() 메서드 및 SimpleDateFormat 클래스를 사용한 형식 지정이 포함됩니다. 다양한 메소드는 toString()now() 메소드입니다.

yyyy-MM-dd 형식으로 출력을 얻을 수 있으며 둘 이상의 날짜가 포함될 때 사용할 수 있습니다.

관련 문장 - Java Date

관련 문장 - Java Calendar