You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ListView中仅显示数据库存储的短日期(不含时间)

解决ListView显示日期带时间的问题

问题根源在于数据库的Short Date只是界面显示格式,实际存储的BoughtDate是DateTime类型,默认包含时间部分(通常为00:00:00)。直接调用ToString()会输出完整的日期时间字符串,需要显式指定短日期格式来处理。

修改代码方案

针对BoughtDate字段的处理逻辑进行调整,将读取到的值转换为DateTime类型后,使用短日期格式输出:

Do While da.Read = True
    Dim list1 = ListView1.Items.Add(da(0))
    list1.Subitems.Add(da(1))
    Dim objitem2 As Object = da.GetValue(2)
    list1.Subitems.Add(If(objitem2 IsNot Nothing, objitem2.ToString, ""))
    Dim objitem3 As Object = da.GetValue(3)
    list1.Subitems.Add(If(objitem3 IsNot Nothing, objitem3.ToString, ""))
    
    ' 处理BoughtDate,仅显示短日期
    Dim objitem4 As Object = da.GetValue(4)
    If objitem4 IsNot Nothing AndAlso TypeOf objitem4 Is DateTime Then
        list1.Subitems.Add(DirectCast(objitem4, DateTime).ToShortDateString())
    Else
        list1.Subitems.Add("")
    End If
    
    Dim objitem5 As Object = da.GetValue(5)
    list1.Subitems.Add(If(objitem5 IsNot Nothing, objitem5.ToString, ""))
    Dim objitem6 As Object = da.GetValue(6)
    list1.Subitems.Add(If(objitem6 IsNot Nothing, objitem6.ToString, ""))
Loop

备选方案:SQL查询中直接格式化

也可以在查询语句里直接对日期进行格式化(适用于Access数据库),这样读取到的就是短日期格式的字符串:

Select Pocket, Sgdb, PocketNr, Year, Format(BoughtDate, 'Short Date') As BoughtDate, Cost, Own from dicp

这种方式下,无需修改代码里的处理逻辑,直接将查询结果添加到ListView即可。

内容的提问来源于stack exchange,提问作者Joachim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 10:55:28