[ Java ] 날짜 형식의 데이터 가공하기

Hailee·2021년 3월 23일
1

[ Java ]

목록 보기
2/2

1. 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

    }
}

2. 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));

3. 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

  1. 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
  1. Parse String to LocalDateTime
//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

+ format

Java Date and Time Format - W3Schools

profile
웹 개발 🐷😎👊🏻🔥

0개의 댓글