LocalDate <-> Timestamp
Convert LocalDateTime to Timestamp
package com.mkyong;
import java.sql.Timestamp;
import java.time.LocalDate;
import java.time.LocalDateTime;
public class TimeExample {
public static void main(String[] args) {
// LocalDateTime to Timestamp
LocalDateTime now = LocalDateTime.now();
Timestamp timestamp = Timestamp.valueOf(now);
System.out.println(now); // 2019-06-14T15:50:36.068076300
System.out.println(timestamp); // 2019-06-14 15:50:36.0680763
// Timestamp to LocalDateTime
LocalDateTime localDateTime = timestamp.toLocalDateTime();
System.out.println(localDateTime); // 2019-06-14T15:50:36.068076300
// LocalDate to Timestamp
LocalDate now = LocalDate.now();
Timestamp timestamp = Timestamp.valueOf(now.atStartOfDay());
System.out.println(now); // 2019-06-14
System.out.println(timestamp); // 2019-06-14 00:00:00.0
// Timestamp to LocalDate
LocalDate localDate = timestamp.toLocalDateTime().toLocalDate();
System.out.println(localDate); // 2019-06-14
}
}
Add Time to a Timestamp
How do I add time to a timestamp?
static final Long duration = ((14 * 60) + 59) * 1000;
oldTimestamp.setTime(oldTimestamp.getTime() + duration);
## (((14 * 60) + 59) * 1000) <-- Mili second value of 14 m and 59 sec
timeStamp.setTime(timeStamp.getTime() + (((14 * 60) + 59)* 1000));
Add Time to LocalTime & LocalDateTime
내가 사용했던 방법! 일정 시간, 분, 초
를 더할 수 있어서 편리하다.
LocalTime timeSum = time.plusMinutes(14).plusSeconds(59);
## LocalDateTime도 사용 가능!
LocalDateTime date = convertedTime.plusHours(13).plusMinutes(55);
LocalTime
은 아무래도 클래스 이름부터가 Time이라고 적혀있어서 그런지, 시간만 계산이 되길래
혹시나 하고 LocalDateTime
을 사용해보니 날짜에 특정 시간을 더하는 작업이 가능했다.
LocalDateTime to String
자료형을 바꿔서 사용해야 할 경우에 유용쓰!
Java format LocalDateTime to String
// Get current date time
LocalDateTime currentDateTime = LocalDateTime.now();
// Inbuilt format
static DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
// Custom format
//DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// Format LocalDateTime
String formattedDateTime = currentDateTime.format(formatter);
//Verify
System.out.println("Formatted LocalDateTime : " + formattedDateTime);
//Output:
//Formatted LocalDateTime : 2018-07-14T17:45:55.9483536
//date in String
String dateString = "2018-07-14T17:45:55.9483536";
//Build formatter
static DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
//Parse String to LocalDateTime
LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter);
//Verify
System.out.println("Parsed LocalDateTime : " + dateTime);
//Output:
//Parsed LocalDateTime : 2018-07-14T17:45:55.948353600