GnuSmalltalkUsersGuide:BaseChapter 057
- Date
Date
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: Magnitude
범주: 언어-데이터 타입
- 나의 인스턴스들은 날짜(date)를 나타낸다. 기본 날짜는 1901년 1월 1일로 정의된다. 나는 인스턴스 생성을 위한 메서드를 제공한다 ("Date newDay: 14 month: #Feb year: 1990"와 같이 "symbolic" 날짜를 통한 메서드도 포함)
경고 - 해당 클래스는 AD 1582 이후의 날짜에만 사용하라; 이 날짜는 시대의 시작이다. 1582 이전의 날짜는 올바르게 인쇄되지 않을 것이다. 게다가 10월 5일부터 10월 15일까지 10일이 없기 때문에 그레고리력 날짜와 (1582년 10월 15일 이후) 율리우스 적일(1582년 10월 5일 이전) 사이에 발생한 연산은 올바르지 않은 결과를 야기할 것이다; 혹은 1582년 10월 4일에 이틀을 더하면 1582년 10월 16일이 아니라 1582년 10월 6일(존재하지 않는 일자!)을 결과로 낼 것이다.
사실 <1582에 해당하는 연도를 #newDay:month:year: 와 같은 메서드로 전달하면 두자릿수로 된 연도로 가정할 것이다 (예: 90=1990, 1000=2900). 율리우스력 날짜를 생성하는 유일한 방법은 #fromDays: 인스턴스 생성 메서드를 이용하는 것이다.
Date 클래스: 기본
abbreviationOfDay: dayIndex
주어진 색인에 해당하는 요일(day of week)의 약칭을 응답하라.
dayOfWeek: dayName
주어진 이름에 해당하는 요일(day)의 색인을 응답하라.
daysInMonth: monthName forYear: yearInteger
주어진 연도의 주어진 (명명된) 월 내의 요일 수를 응답하라.
daysInYear: i
주어진 연도 내 요일수를 응답하라.
indexOfMonth: monthName
주어진 이름에 해당하는 월의 색인을 응답하라.
initDayNameDict
DayNameDict를 요일명으로 초기화하라.
initMonthNameDict
MonthNameDict를 월 이름으로 초기화하라.
initialize
수신자를 초기화하라.
nameOfDay: dayIndex
주어진 색인에 해당하는 요일명을 응답하라.
nameOfMonth: monthIndex
주어진 색인에 해당하는 월 이름을 응답하라.
shortNameOfMonth: monthIndex
주어진 색인에 해당하는 월 이름을 응답하라.
Date 클래스: 인스턴스 생성 (ANSI)
year: y day: d hour: h minute: min second: s
주어진 연도의 d 번째 요일을 나타내는 Date를 응답하라.
year: y month: m day: d hour: h minute: min second: s
(숫자로) 주어진 월과 연도의 d 번째 요일을 나타내는 Date를 응답하라.
Date 클래스: 인스턴스 생성 (Blue Book)
dateAndTimeNow
현재 날짜와 시간을 포함하는 배열을 응답하라.
fromDays: dayCount
1901/1/1 이후의 dayCount 요일을 나타내는 Date를 응답하라.
fromJulian: jd
천문학적 율리우스력으로 jd 번째 요일을 나타내는 Date를 응답하라.
fromSeconds: time
1901년 1월 1일이 지난 날짜 시간 초를 나타내는 Date를 응답하라.
newDay: day month: monthName year: yearInteger
주어진 (명명된) 월과 연도의 dayCount 요일을 나타내는 Date를 응답하라.
newDay: day monthIndex: monthIndex year: yearInteger
(숫자로) 주어진 월과 연도의 dayCount 요일을 나타내는 Date를 응답하라.
newDay: dayCount year: yearInteger
yearInteger 연도의 dayCount 요일을 나타내는 Date를 응답하라.
readFrom: aStream
aStream으로부터 수신자의 인스턴스를 파싱하라.
today
현재 날짜를 현지 시간으로 나타내는 Date를 응답하라.
utcDateAndTimeNow
Coordinated Universal Time(UTC)로 현재 날짜와 시간을 포함하는 배열을 응답하라.
utcToday
Coordinated Universal Time(UTC)로 현재 날짜를 나타내는 Date를 응답하라.
Date: 기본
- aDate
수신자 이전에 dayCount를 가리키는 새 Date를 응답하라.
addDays: dayCount
수신자 이후에 dayCount를 가리키는 새 Date를 응답하라.
subtractDate: aDate
aDate와 수신자 간 요일 수를 응답하라 (수신자가 aDate 이전인 경우 음수)
subtractDays: dayCount
수신자 이전에 dayCount를 가리키는 새 Date를 응답하라.
Date: 호환성 (non-ANSI)
day
수신자가 표현하는 요일을 응답하라.
dayName
수신자의 요일을 Symbol로 응답하라.
shortMonthName
수신자가 표현하는 월의 약칭을 응답하라.
Date: 날짜 계산
asSeconds
날짜를 1901/1/1부터 초(seconds) 수로 응답하라.
dayOfMonth
수신자가 표현하는 요일을 응답하라 (#day와 동일).
dayOfWeek
수신자의 요일을 응답하라. 1=월요일, 7=일요일
dayOfWeekAbbreviation
수신자의 요일을 Symbol로 응답하라.
dayOfWeekName
수신자의 요일을 Symbol로 응답하라.
dayOfYear
작년 12월 31일 이후 며칠이 지났는지 응답하라; 예: 1월 1일은 1이다.
daysFromBaseDay
1901/1/1 이후 며칠이 지났는지 응답하라.
daysInMonth
수신자가 표현하는 월의 일수를 응답하라.
daysInYear
수신자가 표현하는 연도의 일수를 응답하라.
daysLeftInMonth
수신자가 표현하는 월말까지 일수를 응답하라.
daysLeftInYear
수신자가 표현하는 연말까지 일수를 응답하라.
firstDayOfMonth
수신자가 표현하는 월의 첫째 날을 표현하는 Date를 응답하라.
isLeapYear
수신자가 윤년에서 날짜를 참조하는지 여부를 응답하라.
lastDayOfMonth
수신자가 표현하는 월의 마지막 날을 나타내는 Date를 응답하라.
month
수신자가 표현하는 월의 색인을 응답하라.
monthAbbreviation
수신자가 표현하는 월의 약칭을 응답하라.
monthIndex
수신자가 표현하는 월의 색인을 응답하라.
monthName
수신자가 표현하는 월의 이름을 응답하라.
year
수신자가 표현하는 연도를 응답하라.
Date: 인쇄하기
printOn: aStream
수신자에 대한 표현을 aStream 상에 인쇄하라.
Date: 보관하기
storeOn: aStream
수신자로 컴파일하는 스몰토크 코드를 aStream 상에 보관하라.
Date: 검사하기
< aDate
수신자가 aDate 이전의 날짜를 나타내는지를 응답하라.
= aDate
수신자가 aDate와 같은 날짜를 나타내는지를 응답하라.
hash
수신자에 대한 해시값을 응답하라.