以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  长日期格式转为短日期格式  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=172979)

--  作者:cqlwsam
--  发布时间:2021/11/9 17:22:00
--  长日期格式转为短日期格式
表中有:“开始时间”列,格式是DateLongTime;另有一列“**日期”,格式是:date,直接用:format(dr("开始时间"),“yyyy-MM-dd”)得不到结果。谢谢!
--  作者:有点蓝
--  发布时间:2021/11/9 17:26:00
--  
完整代码?
--  作者:cqlwsam
--  发布时间:2021/11/9 17:28:00
--  
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.name
    Case "手术开始时间","手术结束时间"
        If e.DataRow.IsNull("手术开始时间") Or e.DataRow.IsNull("手术结束时间")
            dr("手术持续时间") = Nothing
        Else
            Dim s As TimeSpan = dr("手术结束时间") - dr("手术开始时间")
            dr("手术持续时间") = s.TotalMinutes
        End If
        
    Case "麻醉开始时间","麻醉结束时间"
        If e.DataRow.IsNull("麻醉开始时间") Or e.DataRow.Isnull("麻醉结束时间")
            dr("麻醉持续时间") = Nothing
        Else
            Dim s1 As TimeSpan = dr("麻醉开始时间") - dr("麻醉结束时间")
            dr("麻醉持续时间") = s1.TotalMinutes
        End If
    Case "手术开始时间"
        If e.DataRow.IsNull("手术开始时间") Then
            dr("手术日期") = Nothing
        Else
            dr("手术日期") = Format( dr("手术开始时间"),"yyyy-MM-dd")
        End If
End Select
[此贴子已经被作者于2021/11/9 17:28:50编辑过]

--  作者:有点蓝
--  发布时间:2021/11/9 17:34:00
--  
看看:http://www.foxtable.com/webhelp/topics/2242.htm
--  作者:cqlwsam
--  发布时间:2021/11/9 17:38:00
--  
ok。代码拆开就可以了。谢谢谢!