以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 日期格式转换 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=107627) |
|
-- 作者:zoyong -- 发布时间: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 -- 发布时间: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 改成这样还是无效
|
|
-- 作者:有点甜 -- 发布时间:2017/10/6 11:31:00 -- 代码这样写
Dim dr As DataRow = e.DataRow |
|
-- 作者:zoyong -- 发布时间:2018/3/4 9:47:00 --
|
|
-- 作者:有点甜 -- 发布时间: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) |