Foxtable(狐表)用户栏目专家坐堂 → 请教,有关日期格式显示不对?


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

主题:请教,有关日期格式显示不对?

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
请教,有关日期格式显示不对?  发帖心情 Post By:2010/8/4 17:06:00 [只看该作者]

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”,请问这是怎回事呀?


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/4 17:16:00 [只看该作者]

 和操作系统的日期格式设置有关吧

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/8/4 17:24:00 [只看该作者]

以下是引用狐狸爸爸在2010-8-4 17:16:00的发言:
 和操作系统的日期格式设置有关吧

应当没有其它正常,只有这个会出现这个情况,估计

dtset1.Tables.Remove(th)
Tables("车辆状态管理_Table2").DataSource = th 
DataTables("车辆状态管理_Table2").DataCols("uploadtime").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime)

代码有存在这方面的吧。不知如何解决?请老大指点下!!

有点奇怪,看到的数据与显示的数据怎么不一致呢?晕!!!

[此贴子已经被作者于2010-8-4 17:25:19编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/4 17:27:00 [只看该作者]

代码没有问题。

 

下面的代码如何显示,由系统设置决定:

 

messagebox.show(dr(“uploadtime”))

 

如果默认的显示结果不符合心意,可以用Format函数格式化。


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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/8/4 17:28:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/8/4 17:30:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

显示的是最后一行日期列数据的

[此贴子已经被作者于2010-8-4 17:31:06编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/4 17:34:00 [只看该作者]

我4楼解释得很清楚啊

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By: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
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/8/5 9:51:00 [只看该作者]

非常感谢lxl版主的详细讲解及引导,谢谢你热情帮助!!!

已处理OK!

 


 回到顶部
总数 13 1 2 下一页