我一直在与日期时间值争夺数小时。我现在有正确的日期值,但时间仍然给我带来麻烦。请考虑以下事项:
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个DropDownLists(小时,分钟和秒)组成。它的Time
属性是一个总是看起来像HH:mm:ss
假设我正在从mysql中读取日期时间值2012-10-26 16:00:00
。
写入数据库时,一切都运行顺畅,但是,当我正在读取日期时间的时间部分时,我回到04:00:00(而不是16:00:00)出现在ucPickupTime中。时间。此外,当我将其读入gridview时,它显示为2012/10/26 04:00:00 PM
显然这是不可接受的,因为凌晨4点到4点之间存在很大差异
我已经尝试了很多方法来纠正这个问题,但是却找不到合适的方法,而且我的想法已经用完了。
如果有人可以建议我保留真实时间值的方式(就像在数据库中一样)并将其置于我的控制之下(或者至少按我想要的方式格式化),我真的很感激它
提前致谢!
**编辑**
我已更新上面的代码以反映最新的更改。现在,这会正确格式化数据,但在更新或将记录插入数据库时,值显示如下:
PickupDate | #12:00:00 AM#|日期
PickupTime | #10/4/2012 3:00:00 PM#|日期
我注意到更接近数据的是,使用的日期值似乎始终是保存数据的日期,而不是txtPickupDate.Text中指定的日期
答案 0 :(得分:1)
txtPickupDate.Text = value.ToString(“HH:mm:ss”)