#!/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 }