Foxtable(狐表)用户栏目专家坐堂 → 日期格式转换


  共有2003人关注过本帖树形打印复制链接

主题:日期格式转换

帅哥哟,离线,有人找我吗?
zoyong
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:655 积分:7775 威望:0 精华:0 注册:2015/8/24 9:02:00
日期格式转换  发帖心情 Post By:2017/10/5 21:11:00 [只看该作者]

想在第一列导入字符型20170707      在第二列日期型自动转换为2017-07-07

原代码:
Dim dr As DataRow
Dim pr As DataRow
If dr.IsNull("第一列")  Then
    dr("第二列") = Nothing
Else
    dr("第二列") = new Date(pr("第一列").Substring(0,4),pr("第一列").Substring(4,2),pr("第一列").Substring(6,2))
End If


错误提示:
.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.6.12.1
错误所在事件:表,表A, DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。


另一种模式也错误

If e.DataCol.Name = "交易时间" Then
    If e.NewValue Is Nothing Then
        e.DataRow("日期") = Nothing
    Else
        e.DataRow("日期") = Format(e.DataRow("交易时间"), "yyyy-MM-dd")
    End If
End If


.NET Framework 版本:2.0.50727.8689
Foxtable 版本:2017.8.19.1
错误所在事件:表,cw_lsbcg, DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“yyyy-MM-dd”到类型“Date”的转换无效。

[此贴子已经被作者于2017/10/6 10:11:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zoyong
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:655 积分:7775 威望:0 精华:0 注册:2015/8/24 9:02:00
  发帖心情 Post By:2017/10/6 10:16:00 [只看该作者]


If e.DataCol.name="交易日期" Then
    If e.NewValue Is Nothing Then
        e.DataRow("日期") = Nothing
    Else
        Dim s As String = e.DataRow("交易日期")
        e.DataRow("日期") = s.substring(0,4) & "-" s.substring(4,2) & "-" & s.substring(6,2)
    End If
End If


改成这样还是无效

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/6 11:31:00 [只看该作者]

代码这样写

 

Dim dr As DataRow = e.DataRow
If dr.IsNull("第一列") OrElse dr("第一列").length<>8 Then
    dr("第二列") = Nothing
Else
    dr("第二列") = new Date(dr("第一列").Substring(0,4),dr("第一列").Substring(4,2),dr("第一列").Substring(6,2))
End If


 回到顶部
帅哥哟,离线,有人找我吗?
zoyong
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:655 积分:7775 威望:0 精华:0 注册:2015/8/24 9:02:00
  发帖心情 Post By:2018/3/4 9:47:00 [只看该作者]

字符型列   日期:20180303 19:22:18

怎么转换成 日期型      登记日期     2018-03-03

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/4 10:34:00 [只看该作者]

Dim str As String = "20180303 19:22:18"
Dim d As Date = new Date(str.Substring(0,4),str.Substring(4,2),str.Substring(6,2))
msgbox(d)

 回到顶部