以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  数字列转日期列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131469)

--  作者:nxqtxwz
--  发布时间:2019/2/27 9:42:00
--  数字列转日期列
表的数据是从EXCEL转入的,请问20010223这样的数字列怎么能转成日期列呢?
--  作者:有点甜
--  发布时间:2019/2/27 9:56:00
--  

参考

 

try
    Dim d As Date = Date.ParseExact("20010223", "yyyyMMdd",System.Globalization.CultureInfo.InvariantCulture)
    msgbox(d)
catch ex As exception
    msgbox("出错")
End try


--  作者:nxqtxwz
--  发布时间:2019/2/27 11:47:00
--  

日期列有很多行,怎么才能自动改变整个一列的日期形式呢。


--  作者:有点甜
--  发布时间:2019/2/27 11:49:00
--  

你把代码写到datacolchanged事件即可,然后重置列。

 

不会做上传具体项目测试。


--  作者:nxqtxwz
--  发布时间:2019/2/27 16:44:00
--  
以下是引用nxqtxwz在2019/2/27 9:42:00的发言:
表的数据是从EXCEL转入的,请问20010223这样的数字列怎么能转成日期列呢?

现在表的“出生日期”列是数字类型的,格式是:20010223,想把它改成日期列,日期格式为:2001-02-23.老师给的代码怎么没什么变化呢?


--  作者:有点甜
--  发布时间:2019/2/27 16:57:00
--  

加一列【出生日期2】,然后写代码

 

If e.DataCol.name = "出生日期" Then    
    try
        Dim d As Date = Date.ParseExact(e.newvalue, "yyyyMMdd",System.Globalization.CultureInfo.InvariantCulture)
        e.DataRow("出生日期2") = d
    catch ex As exception
        \'msgbox("出错")       
        e.DataRow("出生日期2") = Nothing
    End try   
End If