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

Rupam Yadav 2023년10월12일
  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
작가: 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