DOBON.NET DOBON.NETプログラミング掲示板過去ログ

文字列で取得したデータを日付関数で変換したい

環境/言語:[Win XP SP 1 / VB.NET 2003 / Framework 1.1]
分類:[.NET]

2004/08/04(Wed) 18:44:29 編集(投稿者)

こんばんわ、にしかわです。
いつもお世話になっております。

String型で取得した文字列を日付、時刻関数を用いて出力したのですが上手くいきません。
20040804 -> 2004/08/04 とセットしたい為、以下のようにしました。


Dim DateChange As DateTime
DateChange.ParseExact("20040804", "yyyymmdd", New System.Globalization.CultureInfo("ja-JP")).ToString("yyyy/mm/dd")


期待するデータ変換ができないのですが、どこが不味いのか分からないのです。
ご存知の方、お教えいただけると幸いです。
よろしくお願い致します。
にしかわさんこんばんわ。

DateChange = DateTime.ParseExact("20040804", "yyyymmdd", New System.Globalization.CultureInfo("ja-JP")).ToString("yyyy/mm/dd")

こうじゃないですかね?

> DateChange.ParseExact("20040804", "yyyymmdd", New System.Globalization.CultureInfo("ja-JP")).ToString("yyyy/mm/dd")

だと、DateChangeの形式を変換しただけで中身が無いと思います。
■No5339に返信(SHさんの記事)
> にしかわさんこんばんわ。
>
> DateChange = DateTime.ParseExact("20040804", "yyyymmdd", New System.Globalization.CultureInfo("ja-JP")).ToString("yyyy/mm/dd")
>
> こうじゃないですかね?
>
>>DateChange.ParseExact("20040804", "yyyymmdd", New System.Globalization.CultureInfo("ja-JP")).ToString("yyyy/mm/dd")
>
> だと、DateChangeの形式を変換しただけで中身が無いと思います。

こんにちは。
追記ですが、format形式のmmを大文字のMMに変えてください。
ぺがらぼさま

おはようございます、にしかわです。

Dim DateChange As DateTime
DateChange = DateTime.ParseExact("20040804", "yyyyMMdd", New System.Globalization.CultureInfo("ja-JP")).ToString("yyyy/MM/dd")

Dim strbuf1 As String = Format(DateChange, "yyyy/MM/dd")
' 結果は『2004/08/04』
Dim strbuf2 As String = DateChange.ToString
' 結果は『2004/08/04 0:00:00』

としたら欲しい結果が得られました。
ありがとうございました。

よくよく考えると、ぺがらぼさまが仰られていたとおり、おかしかったですね。
もう少し慌てず、ソースの方一考するようにします。

この度は本当にありがとうございました。
また何かの機会がありましたら、よろしくお願い致します。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板