프롬프트 AI&OpenAPI&공공데이터를 활용한 웹앱개발자 양성 과정 16일차

서명원·2024년 1월 1일

1. 공부 방향성

  1. 지식은 적게, 지혜는 많게
  • 적게 배우고, 많이 활용 할 것
  1. 공학은 예술이 아니다.
  • 완벽주의 추구할 필요 x
  1. 개발 == 자전거타기
  • 많이 넘어져 볼 것
  1. 내가 모르는 무언가가 있고 그것때문에 나는 지금 구현 못하는 중이라고 생각하지 말 것

2. GMT와 UTC

GMT(Greenwich Mean Time)는 그리니치 평균시. 영국 런던의 그리니치 천문대를 기준으로 한 세계 표준시로 사용됨

UTC( Coordinated Universal Time)는 협정 세계시. 거의 동일하지만 UTC가 더 정확한 시간 표준을 나타냄.


3. java에서의 시간 날짜 클래스

1) Date나 Calendar 클래스의 문제점
달의 인덱스가 0에서 시작되거나, JVM 기본시간대인 중앙 유럽 시간대를 사용하는 등 단점으로 인해 새로운 시간 날짜 클래스들이 생김
2) Temporal 인터페이스의 구현체들
LocalDate: 날짜 관련 데이터 보존 및 제어
LocalTime: 시간 관련 데이터 보존 및 제어
LocalDateTime: 날짜 및 시간 관련 데이터 보존및 제어
Instant 나노초단위의 정밀 초 정보 제공. 사람이 읽을 수 있는 시간정보는 제공하지 않음.
LocalDateTime : 날짜+시간 관련 데이터 보존 및 제어
ZonedDateTime : LocalDateTime + 시간대 정보

3) 시간대 비교를 위한 클래스들
Duration -> LocalTime, LocalDateTime, Instant등의 값을 비교 가능
Period -> LocalDate 등의 값을 비교 가능

4) withAttribute메소드
시간 날짜 관련 클래스의 객체 값을 변경하여 새 객체를 반환

LocalDate d1 = LocalDate.now();
LocalDate d2 = d1.withYear(2020);
		
System.out.println(d1);
System.out.println(d2);

결과값
2024-01-01
2020-01-01

5) Timestamp로 변환방법
db에 데이터 타입의 값을 보관할 땐 주로 UTC 시간대의 Timestamp형태로 저장

timestamp -> zonedDateTime

ZonedDateTime zonedDateTime = timestamp.toInstant().atZone(ZoneId.of("UTC");

zonedDateTime - > timestamp

Timestamp timestamp = Timestamp.from(zonedDateTime.toInstant());

4.섬머타임

섬머타임(Daylight Saving Time 또는 서머타임)은 일부 지역에서 주로 여름 동안 시간을 조정하여 일광 절약을 목적으로 하는 시간제이다.
섬머타임은 특정 지역에서 일정 기간 동안 시계를 조정하여 추가적인 일광을 활용하려는 목적으로 시행된다. 보통은 봄부터 가을까지, 일반적으로 여름 동안에 이루어진다. 이때 시계를 1시간 앞으로 조정하여 더 오래 낮 동안에도 자연광을 최대한 활용하고, 이로 인해 일광을 더 효과적으로 활용할 수 있게 된다.
ZonedDateTime으로 이런 섬머타임을 자동으로 고려하여 시간을 조정한다.

profile
백엔드 취업을 꿈꾸는 일본어 전공자

0개의 댓글