- ベストアンサー
getDate() について
かねがね思う疑問です。 getHours() :時刻の取得 これはスタートが 0 (時)です。 getMinutes() :分の取得 これもスタートは 0 (分)です。 getSeconds() :秒の取得 これもスタートは 0 (秒)です。 ついでに, getUTCDay() :曜日の取得 これもスタートは 0 (曜日)[0は日曜]です。 なんとなんと, getMonth() :月の取得 これもスタートは 0 (月)です~ぅ! だから, getDate() 日にちの取得 もスタートは 0 (日) であるべきです!! なぜ,getDate() だけ, 1 をスタートとするのでしょうか? http://www.tonbi.jp/JS/Object/Date.html
- みんなの回答 (4)
- 専門家の回答
お礼
これまたどうも,DPEさん,毎度お世話になります。 うーん… 確かに日付というものに 0 という概念は存在しませんね。 質問で「日にち」という曖昧な表現を使ってしまいましたが, 「日にち」には年月日の意味の「日」と日数という意味の「日」があります。 時刻と時間との関係と同じです。 ------------------------------ ひにち【日日】 1 日。期日。日どり。「式の日にち」 2 ひかず。にっすう。「日にちが経つ」 ひづけ【日付】 文書などに、その作成または提出した年月日を付記すること。また、その記した年月日。 国語大辞典(新装版) 小学館 1988 より ------------------------------ 「日数」には 0 日は存在します。 例えば今を,2006年1月6日12:30 とすると, 今年が始まってからの日数は 5日と12時間30分です。約5.5日。 しかし,おっしゃるとおり,「日付」には 0 日は存在しません。 よく考えると,「西暦0年」も「0世紀」も存在しませんね。 フリー百科事典『ウィキペディア(Wikipedia)』 http://ja.wikipedia.org/wiki/1%E4%B8%96%E7%B4%80 Macromedia Director非公式テクニカルノート 日付から曜日を調べる http://www.fumiononaka.com/TechNotes/Director/FN0501002.html だから,「日付」だけが,仲間はずれではないということになります。 結局,プログラムは,数字ではなく,概念に基づいて作られているということですね。 もちろん,そこには便利性も含まれる。 そういうことで,納得しました。 今度はなぜ,概念的に日付が 0 から始まらないのかが疑問になってきましたが, これはプログラムとは関係がありませんね。 この件に関してはまたの機会にもう少し考えてみたいと思います。 ありがとうございました。