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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn