誤植では?(入門講座 第6回 文字・数値・日付のあつかい)

タグの編集
投稿者 kmkm  (社会人) 投稿日時 2009/9/15 03:43:17
VB中学校の入門講座「第6回 文字・数値・日付のあつかい」の中で、
リスト15 MsgBox(#6/27/2004#.ToString("yyyy/MM/dd")) の解説に、
"このようにした場合、Windowsの設定によらずに必ず「2004/6/27」と表示されます。"
とありますが、「2004/06/27」の誤植かと思います。
すぐ上で、MM は月を2桁で表示と解説されてもおりますし。

いかがでしょう。

投稿者 よねKEN  (社会人) 投稿日時 2009/9/15 20:28:50
細かい話ですが(入門者がそこまで抑えておくべきかどうは別にして)、
kmkmさんのご指摘のほかに「Windowsの設定によらずに」という説明も少し正確ではないですね。

「Windowsの設定によらずに」という言葉通りにするのであれば、ソースコードは、

(現状) MsgBox(#6/27/2004#.ToString("yyyy/MM/dd")) 
  ↓
(修正) MsgBox(#6/27/2004#.ToString("yyyy\/MM\/dd")) 

のようにする必要があります。元のコードでは、
[コントロールパネル]の[地域と言語のオプション]に設定された”日付の区切り”
に従いますので、例えば区切り文字が"-"に設定されている場合は、

2004-06-27

と表示されます。

投稿者 るきお(管理者)  (社会人) 投稿日時 2009/9/15 22:21:07
こんにちは。
ご指摘・フォローありがとうございます。

>"このようにした場合、Windowsの設定によらずに必ず「2004/6/27」と表示されます。"
>とありますが、「2004/06/27」の誤植かと思います。
はい。ご指摘のとおりです。
誤植というか打ち間違いというかわかりませんがその類のミスです。


>(現状) MsgBox(#6/27/2004#.ToString("yyyy/MM/dd")) 
>  ↓
>(修正) MsgBox(#6/27/2004#.ToString("yyyy\/MM\/dd")) 
こちらもおっしゃるとおりですし、完全に間違ったことを書いてしまっています。
記事を参考にされた方にはご迷惑をおかけしてしまい申し訳ないです。

近いうち訂正します。