Java에서 문자열을 타임 스탬프로 변환

Rupam Yadav 2023년10월12일 Java Java DateTime
  1. TimeStamp.valueOf()를 사용하여 Java에서 문자열을 타임 스탬프로 변환
  2. Date.getTime()을 사용하여 Java에서 문자열을 타임 스탬프로 변환
Java에서 문자열을 타임 스탬프로 변환

이 기사에서는 Java에서 문자열을 타임 스탬프로 변환하는 두 가지 방법을 소개합니다. 타임 스탬프는 주로 데이터베이스에서 일부 이벤트의 정확한 시간을 나타내는 데 사용됩니다. 이 튜토리얼에서 사용할Timestamp 클래스는java.sql.Timestamp 패키지의 일부입니다.

TimeStamp.valueOf()를 사용하여 Java에서 문자열을 타임 스탬프로 변환

TimeStamp 클래스의 고유 한 정적 함수 인valueOf()를 사용합니다. 문자열을 인수로 취한 다음이를 타임 스탬프로 변환합니다. 여기서 주목해야 할 중요한 사항은 타임 스탬프로 변환하려는 문자열에 날짜와 시간이 기록되는 형식을 관리하는 것입니다. 고정 형식 인yyyy-mm-dd hh:mm:ss로 제한됩니다.

형식을 변경할 수없고 올바른 결과를 기대할 수 있지만, 대신 잘못된 형식을 사용하면 출력에 IllegalArgumentException이 표시됩니다. 아래 예에서는 yyyy-mm-dd hh:mm:ss의 올바른 형식을 따르는 2020-12-12 01:24:23을 문자열의 날짜 및 시간으로 사용했습니다.

이제valueOf(string)메서드의 유일한 인수로dateTime을 전달할 수 있으며 문자열을 타임 스탬프로 변환합니다.

import java.sql.Timestamp;

public class StringToTimeStamp {
  public static void main(String[] args) {
    String dateTime = "2020-12-12 01:24:23";

    Timestamp timestamp = Timestamp.valueOf(dateTime);
    System.out.println(timestamp);
  }
}

출력:

2020-12-12 01:24:23.0

동일한valueOf()메서드를 사용하여 날짜 및 시간 형식 제한을 제거 할 수 있지만 메서드에 문자열을 직접 전달하는 대신LocalDateTime 클래스를 사용합니다. valueOf()LocalDateTime을 인수로 받아들이 기 때문입니다.

다음 코드에서dateTime에는 날짜와 시간이 있으며DateTimeFormatter 클래스의ofPatter()메서드를 사용하여 형식이 지정됩니다. 이 포맷터를 사용하여LocalDateTime.from()함수를 사용하여LocalDateTime 객체를 구문 분석하고 가져올 수 있습니다.

LocalDateTime 객체를 얻으면Timestamp.valueOf(localDateTime)에 전달하여 문자열을 타임 스탬프로 변환 할 수 있습니다.

import java.sql.Timestamp;
import java.text.ParseException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class StringToTimeStamp {
  public static void main(String[] args) throws ParseException {
    String dateTime = "01/10/2020 06:43:21";
    DateTimeFormatter formatDateTime = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
    LocalDateTime localDateTime = LocalDateTime.from(formatDateTime.parse(dateTime));
    Timestamp ts = Timestamp.valueOf(localDateTime);

    System.out.println(ts);
  }
}

출력:

2020-10-01 06:43:21.0

Date.getTime()을 사용하여 Java에서 문자열을 타임 스탬프로 변환

문자열을 타임 스탬프로 변환하는 두 번째 방법은 여러 클래스와 메서드를 사용합니다. LocalDateTime과 마찬가지로 문자열에 날짜 및 시간 형식을 사용할 수 있습니다. 우리는SimpleDateFormate()클래스를 사용하여 문자열을 포맷 한 다음Date 객체로 구문 분석했습니다.

날짜와 시간을long으로 반환하는getTime()객체가 있으므로Date 객체가 필요합니다. 이long 값을 아래에서 한 것처럼Timestamp 생성자에 전달할 수 있습니다.

import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class StringToTimeStamp {
  public static void main(String[] args) throws ParseException {
    String inDate = "01/10/2020 06:43:21";
    DateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
    Date date = df.parse(inDate);
    long time = date.getTime();

    Timestamp ts = new Timestamp(time);

    System.out.println(ts);
  }
}

출력:

2020-01-10 06:43:21.0
튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
작가: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

관련 문장 - Java DateTime