[Go to BBS]
All articles in a thread
SubjectDate関数関連のマニュアルの不備?
Article No485
Date: 2007/11/23(Fri) 19:07:13
ContributorAKio Morita
Date extensionを実装後に Packages/HelpMessage.nを眺めていて気づいたのですが
DateString[]関数のマニュアル側の説明と実装に食い違いがあります

HelpMessage.nのテキストだと
DateString[] returns the current date and time as string "DD-MM-YYYY hh:mm:ss".
DateString[date] converts date to string as above.
The date can be either a real number (in second, date=0 is 1/1/1900 0:0:0) or a list of 6 reals {y,M,d,h,m,s}.
とあり、DateString[]の返す文字列は"日/月/年 時:分:秒"の書式だと有りますが、
実際の実装は "月/日/年 時:分:秒"が返ります

というわけで、マニュアル(仕様)か実装を修正する必要があります
1. マニュアルを"MM-DD-YYYY hh:mm:ss"に改訂する
2. 実装を"DD-MM-YYYY hh:mm:ss"に修正する

ただ、KEKBの運転で DateString[]関数はファイル名の自動生成に使ってしまっているので
実装側を修正すると自動記録されているファイルの管理に混乱が生じるので
(1)のマニュアルを改訂するしかないと思います

さらに、HelpMessage.nの Date関連関数の説明を見て行くと
* 目次に実在しない ToDateString[]関数が載っている
* FromDateString[]関数の詳細がない
* Date[], ToDate[], FromDate[]関数の詳細がない
* Day[]関数の目次&詳細がない

ToDateString[]関数を実装すべきか、マニュアルから削除すべきかですが...
仮に、ToDateString[]関数を実装した場合は Date[]関数と ToDate[],FromDate[]関数との
関係を考慮すると、DateString[]は引数を受け取らないほうが筋の通った実装に
なると思います。逆に、DateString[]関数が引数を受け取るなら、Date[]関数も
引数を受け取れるべきで、その場合 DateString[], Date[]は ToDateString[], ToDate[]の
別名として提供するほうが自然に思えます

というわけで、皆様どう思います?