はじめまして、たけと申します。
VB.Net2002で、日付の変換をしたいと思っています。
VBでは、CDate関数を使って変換できるのですが、
VB.Netでは、変換時にエラーが出てしまいます。
VBから.Netへアップグレードして確認してみたのですが、
アップグレードしたコードを実行するとエラーが出てしまうので
どうしたらいいのか困っています。
ご存知の方がおられましたらご教授ください。
変換したい値:38158
S="38158"
VBでは、 CDate(S) → 2004/06/20
.Netでは、CDate(S) → エラー
VB6の日付型は、西暦100年1月1日〜西暦9999年1月1日。
.NETは西暦1年1月1日〜西暦9999年12月31日なので、
単純変換はできません。
> 変換したい値:38158
> S="38158"
> VBでは、 CDate(S) → 2004/06/20
> .Netでは、CDate(S) → エラー
VB6に合わせるのであれば、
Dim V As Double = 38158.0#
Dim D As Date = #12/30/1899#.AddDays(V)
という感じですかね。
魔界の仮面弁士さん、早速のご回答有難う御座います。
早速試したところ、変換できました。
有難う御座いました。
> VB6に合わせるのであれば、
.Netでは、別の方法があるということでしょうか?
FromOADate/ToOADateメソッドの方が適切ですね。
編集 削除> FromOADate/ToOADateメソッドの方が適切ですね。
こちらの方が、スマートですね。
大変勉強になりました。
魔界の仮面弁士さん、有難う御座います。