0

私は日時の値で何時間も戦ってきました。日付の値が正しく機能するようになりましたが、まだ時間の問題が発生しています。次の点を考慮してください。

Private _pickupDate As DateTime

Public Property PickupDate As DateTime
    Get
        Return _pickupDate
    End Get
    Set(ByVal value As DateTime)
        _pickupDate = value
        txtPickupDate.Text = value.ToString("yyyy/MM/dd")
    End Set
End Property

Public Property PickupTime As DateTime
    Get
        Return DateTime.Parse(ucPickupTime.Time)
    End Get
    Set(value As DateTime)
        ucPickupTime.Time = value.ToString("HH:mm:ss")
    End Set
End Property

注: ucPickupTime は、3 つの DropDownList (時間、分、および秒) で構成されるユーザー コントロールです。そのTimeプロパティは、常に次のように見える文字列ですHH:mm:ss

2012-10-26 16:00:00mysql から datetime 値を読み取っているとします。

データベースに書き込むときはすべてスムーズに動作しますが、datetime の時刻部分を読み取ると、ucPickupTime.Time に (16:00:00 ではなく) 04:00:00 が表示されます。さらに、これをグリッドビューに読み込むと、2012/10/26 04:00:00 PM と表示されます

午前 4 時と午後 4 時の間には大きな違いがあるため、明らかにこれは受け入れられません。

これを修正するためにいくつかの方法を試しましたが、適切な方法を見つけることができず、アイデアが不足しています。

誰かが真の時間値を (データベースにあるとおりに) 保持し、それを自分のコントロールに入れる (または、少なくとも自分が望むようにフォーマットする) 方法を提案できれば、本当に感謝しています。

前もって感謝します!

**編集**
最新の変更を反映するために上記のコードを更新しました。これにより、データが正しくフォーマットされるようになりましたが、データベースにレコードを更新または挿入すると、値は次のように表示されます。

集荷日 | #12:00:00 AM# | 日付
集荷時間 | #2012/10/4 15:00:00# | 日にち

データをよく見て気づいたのは、使用されている日付値が、txtPickupDate.Text で指定された日付ではなく、常にデータが保存された日付であるように見えることです。

4

1 に答える 1

1

txtPickupDate.Text = value.ToString("HH:mm:ss")

于 2012-10-03T14:47:43.427 に答える