Java에서 Epoch를 MySQL 타임스탬프로 변환
Java 프로그래머는 Unix 이후의 초 수를 나타내는 Epoch 시간을 변환해야 하는 경우가 종종 있습니다. epoch를 MySQL 타임스탬프 형식으로 변환합니다. 다음은 Java의 최신 Date-Time API인 java.time을 사용하여 이러한 변환을 수행하는 방법입니다.
java.time
Java SE 8에 도입된 java.time은 포괄적이고 오류 방지가 가능한 날짜-시간 API입니다. 아래와 같이 ANSI SQL 유형을 java.time 유형에 매핑합니다.
ANSI SQL | Java SE 8 |
---|---|
DATE | LocalDate |
TIME | LocalTime |
TIMESTAMP | LocalDateTime |
TIME WITH TIMEZONE | OffsetTime |
TIMESTAMP WITH TIMEZONE | OffsetDateTime |
Epoch를 MySQL 타임스탬프로 변환
java.time을 사용하면 쉽게 변환할 수 있습니다. MySQL 타임스탬프에 대한 에포크 시간:
// Get current epoch time in milliseconds long epochNow = System.currentTimeMillis(); // Create a LocalDateTime object from the epoch time LocalDateTime timestampNow = Instant.ofEpochMilli(epochNow).atZone(ZoneId.systemDefault()).toLocalDateTime(); // Convert to MySQL timestamp format using DateTimeFormatter String mySQLtimestamp = timestampNow.format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss"));
예 사용법
제공된 코드 조각에는 현재 시간을 나타내는 epochNow와 과거 7일의 타임스탬프를 나타내는 date7daysAgo가 있습니다. 위 코드를 사용하면 두 타임스탬프를 MySQL 형식으로 쉽게 변환하고 mySQLtimestamp에 저장할 수 있습니다.
String mySQLtimestampNow = LocalDateTime.ofInstant(Instant.ofEpochMilli(epochNow), ZoneId.systemDefault()) .format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss")); String mySQLtimestamp7DaysAgo = LocalDateTime.ofInstant(Instant.ofEpochMilli(date7daysAgo), ZoneId.systemDefault()) .format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss"));
위 내용은 Java에서 Epoch 시간을 MySQL 타임스탬프로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!