2024-04-04

This commit is contained in:
2024-04-04 13:44:51 +09:00
parent d444640770
commit fabe7642fa
40 changed files with 2423 additions and 0 deletions

151
src/17_time.rb Executable file
View File

@@ -0,0 +1,151 @@
#!/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
}