GnuSmalltalkUsersGuide:BaseChapter 057

From 흡혈양파의 번역工房
Jump to navigation Jump to search
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

수신자에 대한 해시값을 응답하라.


Notes