以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教,有关日期格式显示不对? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7774) |
-- 作者:baoxyang -- 发布时间:2010/8/4 17:06:00 -- 请教,有关日期格式显示不对? Dim dtset1 As new System.Data.DataSet() ‘从外部引用数据 Dim th As Data.datatable = dtset1.Tables(0) “uploadtime”是外部获取数据的一个日期列,但在 DataTables("车辆状态管理_Table2")表中“uploadtime”看到的数据是“2010-08-04 13:25:13” 如果用messagebox.show(dr(“uploadtime”))时显示的内容为“10-08-04 13:25:13”,请问这是怎回事呀? |
-- 作者:狐狸爸爸 -- 发布时间:2010/8/4 17:16:00 -- 和操作系统的日期格式设置有关吧 |
-- 作者:baoxyang -- 发布时间:2010/8/4 17:24:00 -- 以下是引用狐狸爸爸在2010-8-4 17:16:00的发言:
和操作系统的日期格式设置有关吧 应当没有其它正常,只有这个会出现这个情况,估计 dtset1.Tables.Remove(th) 代码有存在这方面的吧。不知如何解决?请老大指点下!! 有点奇怪,看到的数据与显示的数据怎么不一致呢?晕!!! [此贴子已经被作者于2010-8-4 17:25:19编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2010/8/4 17:27:00 -- 代码没有问题。
下面的代码如何显示,由系统设置决定:
messagebox.show(dr(“uploadtime”))
如果默认的显示结果不符合心意,可以用Format函数格式化。 |
-- 作者:baoxyang -- 发布时间:2010/8/4 17:28:00 -- 此主题相关图片如下:未命名.jpg |
-- 作者:baoxyang -- 发布时间:2010/8/4 17:30:00 -- 显示的是最后一行日期列数据的 [此贴子已经被作者于2010-8-4 17:31:06编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2010/8/4 17:34:00 -- 我4楼解释得很清楚啊 |
-- 作者:lxl -- 发布时间:2010/8/4 17:48:00 -- 先说结果: 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月")
|
-- 作者:lxl -- 发布时间:2010/8/4 17:56:00 -- 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(常规日期格式)来格式话时间,显示的是:短日期+ 长时间 如果你在控制面板里面修改过短日期 或者长时间。 那也会影响结果
|
-- 作者:baoxyang -- 发布时间:2010/8/5 9:51:00 -- 非常感谢lxl版主的详细讲解及引导,谢谢你热情帮助!!! 已处理OK!
|