SetCalendar(int, int, int)

モジュールでの暦の日付を設定します。

void SetCalendar(
    int nYear,
    int nMonth,
    int nDay
);

Parameters

nYear

設定する暦の指定年(1340〜32001)

nMonth

設定する暦の指定月(1〜12)

nDay

設定する暦の指定日(1-28)


Description

モジュールにおける現在の年、月、日を設定します。



Remarks

月または日の最大より大きい値が指定された場合、それらはその単位を埋めた後、過剰分は次の単位を進めるために使用されます。例えば、指定が1350年33月10日であったなら、暦は1352年9月10日に設定されるでしょう。

但し、下記のKnown Bugsを見てください


Known Bugs

以前報告された、1340年以前に設定できないというバグは修正されました。There is still a bug with advancing the time when setting the month to higher than 13, though it doesn’t always set the month to 12.

また、nMonthに12を超える値を設定した場合、過剰は年を進めますが、その際、13進法(0-12)で年月が進むように思います。即ちまるで0月が存在するかのようにです。例えば、nYearを1350、nMonthを14と設定した場合、1351年1月となり、28と設定した場合は28-(13x2)で、2年後である1352年2月となります。また0月となるようにnMonthを13の倍数で設定した場合、その0月が存在するはずの年代の6月になります。例えばnYearを1350、nMonthを13と設定したならば、1351年6月になるでしょう。(ver1.29現在)

このバグを回避するために、nMonthは1から12の数値で指定するのが無難です。


Version

1.30

See Also

functions: GetAge | GetCalendarDay | GetCalendarMonth | GetCalendarYear | SetTime | SetWeather
categories: Time Functions
events: OnModuleLoad Event


author: Jody Fletcher, editor: Charles Feduke, additional contributor(s): Jon Dewey, JP team: geshi, Rainie
Send comments on this topic.