#!/usr/bin/ruby

# 시간

## Time
### 시간 인스턴스 생성

now = Time.now
now = Time.new

date = Time.new(2021,11,22)
date = Time.new(2021,11,22,13,1,0, '+09:00') # 년, 월, 일, 시간대

date = Time.local(2021,11,22,13,1,0)
date = Time.utc(2021,11,22,13,1,0)

date = Time.at(0) # Epoch second
date = Time.at(now, in: '-04:00')
p date


### 인스턴스 메서드

another = now + 3600 # 초단위 숫자와 함께 '+'나 '-' 연산도 가능합니다.

=begin
* year
* month
* day / mday
* hour
* min
* sec
* usec : 마이크로 초
* nsec : 나노 초
* wday : 주에서 몇 번째 날인지. 일요일 == 0
* yday : 연에서 몇 번째 날인지. 1월 1일 == 1
* utc_offset : UTC 시간과 몇 초 차이가 나는지.
* to_f : Epoch 초
* to_i : Epoch 초
* to_r : Epoch 초
* zone : 타임존 문자열

=end

=begin
* utc?
* dst?
* sunday?
* monday?
* tuesday?
* wednesday?
* thursday?
* friday?
* saturday?

=end

=begin
* acstime : 문자열로 반환
* strftime : 문자열로 반환
* to_a : 배열 형식으로 반환
* to_s : 문자열로 반환
* getutc : 새로운 UTC 시간을 반환
* getlocal : 새로운 로컬 시간을 반환
* utc : UTC 시간으로 변환
* localtime : 로컬 시간으로 변환
* deconstruct_keys : 해시 형식으로 반환

=end


## Date

### 시간 인스턴스 생성

date = Date.new(2021,11,22)
date = Date.ordinal(2024,100) # 2024년의 100번째 날

date = Date.jd(2451083) # 줄리안 데이
date = Date.commercial(2024,24,5) # 2024년의 24번째 주, 5번째 날

date = Date.parse('2024-03-31')
date = Date.strptime('2024-03-31', '%Y-%m-%d')

### 클래스 메서드

=begin
* _httpdate
* _iso8061
* _rfc2822
* _rfc3339
* _xmlschema

* httpdate
* iso8061

* commercial
* jd
* gregorian_leap?
* julian_leap?



=end

### 인스턴스 메서드

=begin
* httpdate
* iso8061
* rfc2822
* rfc3339
* xmlschema

* year
* month
* day

* monday? ...


* next
* next_day
* next_month
* next_year
* prev_day
* prev_month
* prev_year


* to_datetime
* to_s
* to_time

=end



=begin

=end

=begin

=end

END{
  # https://ruby-doc.org/3.3.0/Time.html
  # https://ruby-doc.org/3.3.0/exts/date/Date.html
  # https://ruby-doc.org/3.3.0/exts/date/DateTime.html
}
