DataGridViewの日付フォーマットを教えてください

タグの編集
投稿者 peeman  (社会人) 投稿日時 2008/12/18 02:38:53
DataGridViewで以下のように表示してます。長いので掲載は一部にしました。 


           'データグリッドの表示
            With dtTbl
                .Columns.Add(New DataColumn("明細ID"))        '0
                .Columns.Add(New DataColumn("年月日"))        '1
                .Columns.Add(New DataColumn("品名"))       '2

            For i = 0 To UBound(aryOrder22)
                objrow(0) = aryOrder22(i).MeisaiId
                objrow(1) = Format(aryOrder22(i).JissiDate, "short date")
                objrow(2) = aryOrder22(i).Hinmei
                .Rows.Add(objrow)

            Next
            End With

        dataGrid1.DataSource = dtTbl

            'データグリッドの書式
        With Me.dataGrid1
            .Columns(0).Width = 35   '明細ID
            .Columns(1).Width = 90   '実施日
            .Columns(2).Width = 35   '品名




objrow(1)に入れている実施日に曜日も表示したいと思って、
               objrow(1) = Format(aryOrder22(i).JissiDate, "yyyy/MM/dd(ddd)")

とやると文字列"yyyy/MM/dd(ddd)"がそのまま表示されてしまいます。

objrow(1) = Format(aryOrder22(i).JissiDate, "yyyy" & "年" & "M" & "月" & "d" & "日" & "(" & "ddd" & ")")

とやってみてもうまく行きません。

DateTimePickerなんかのFormatではうまくいくのに・・・・


DataGridViewで曜日を表示できるFORMAT方法を教えて下さい。

よろしくお願いします。





投稿者 るしぇ  (社会人) 投稿日時 2008/12/18 03:05:57
DataGridView。。。関係ないね。

peeman さんには日付に見えても、プログラムには文字列は文字のつながったもの
としか分かりません。"short date"でうまくいく方がおかしいです^^;
日付は日付型で処理してください。
        Dim datJissiDate As New Date(2007, 12, 1, 2, 59, 1)
        Dim strJissiDate As String = "2007/12/1 2:59:1"

        Debug.WriteLine(Format(datJissiDate, "short date"))
        Debug.WriteLine(Format(strJissiDate, "short date"))
        Debug.WriteLine(Format(datJissiDate, "yyyy/MM/dd(ddd)"))
        Debug.WriteLine(Format(strJissiDate, "yyyy/MM/dd(ddd)"))
        Debug.WriteLine(Format(CDate(strJissiDate), "yyyy/MM/dd(ddd)"))
投稿者 peeman  (社会人) 投稿日時 2008/12/18 03:26:00
るしぇさん、早速の回答ありがとうございました。

ひえぇ~っ、という感じです。
何年(まだVBやり始めて2年ほどですが)やってもこんなことで間違うなんて。

Date型とString型の勘違いはこれまでにも数知れず・・注意力がないというか、

ご指摘ありがとうございました。
正真正銘の「中学生」であることがわかりました。
ありがとうございました。