Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
Dim dtset1 As new System.Data.DataSet() ‘从外部引用数据
Dim th As Data.datatable = dtset1.Tables(0)
dtset1.Tables.Remove(th)
Tables("车辆状态管理_Table2").DataSource = th
DataTables("车辆状态管理_Table2").DataCols("uploadtime").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime)
“uploadtime”是外部获取数据的一个日期列,但在 DataTables("车辆状态管理_Table2")表中“uploadtime”看到的数据是“2010-08-04 13:25:13”
如果用messagebox.show(dr(“uploadtime”))时显示的内容为“10-08-04 13:25:13”,请问这是怎回事呀?
应当没有其它正常,只有这个会出现这个情况,估计
dtset1.Tables.Remove(th)
Tables("车辆状态管理_Table2").DataSource = th
DataTables("车辆状态管理_Table2").DataCols("uploadtime").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime)
代码有存在这方面的吧。不知如何解决?请老大指点下!!
有点奇怪,看到的数据与显示的数据怎么不一致呢?晕!!!
代码没有问题。
下面的代码如何显示,由系统设置决定:
messagebox.show(dr(“uploadtime”))
如果默认的显示结果不符合心意,可以用Format函数格式化。
先说结果:
Dim dt As DateTime = dr(“uploadtime”)
MessageBox.Show(dt.ToString("F"))
时间类型DateTime转换成字符串String有很多很多转换方式。(比如国家地区差异,比如简单日期,完整日期的差异)
所以.net里面有很大一章节来控制日期的格式化。
你如果有时间和兴趣可以参考这里:
http://msdn.microsoft.com/zh-cn/library/97x6twsz(v=VS.90).aspx
不过一般记住几个常用的就行:
ToString("D") 长日期格式
ToString("d") 短日期格式
ToString("F") 长日期时间
ToString("f") 短日期时间
ToString("G") 常规日期格式。效果和直接ToString()一样
上面几种是标准的格式化方式,你也可以用自定义的方式
ToString("yyyy年MM月")
messagebox.show(dr(“uploadtime”))时显示的内容为“10-08-04 13:25:13”
原因是:
dr(“uploadtime”) 是一个object类型
(编译器只知道他是一个对象,不知道是他是时间对象。)
所以执行messagebox.show(dr(“uploadtime”)) 有一个Object到String的隐式转换
相当于messagebox.show(dr(“uploadtime”).ToSting())
我8楼说过,对时间调用ToString() 相当于ToString("G")
而采用G(常规日期格式)来格式话时间,显示的是:短日期+ 长时间
如果你在控制面板里面修改过短日期 或者长时间。 那也会影响结果
非常感谢lxl版主的详细讲解及引导,谢谢你热情帮助!!!
已处理OK!