Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共13 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
baoxyang 发表于: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楼
狐狸爸爸 发表于:2010/8/4 17:16:00
 和操作系统的日期格式设置有关吧
3楼
baoxyang 发表于: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楼
狐狸爸爸 发表于:2010/8/4 17:27:00

代码没有问题。

 

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

 

messagebox.show(dr(“uploadtime”))

 

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

5楼
baoxyang 发表于:2010/8/4 17:28:00

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
6楼
baoxyang 发表于:2010/8/4 17:30:00


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

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

[此贴子已经被作者于2010-8-4 17:31:06编辑过]
7楼
狐狸爸爸 发表于:2010/8/4 17:34:00
我4楼解释得很清楚啊
8楼
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月")

 

 

 

 

 

9楼
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(常规日期格式)来格式话时间,显示的是:短日期+ 长时间 

如果你在控制面板里面修改过短日期 或者长时间。 那也会影响结果  

 

 

 

10楼
baoxyang 发表于:2010/8/5 9:51:00

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

已处理OK!

 

共13 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03223 s, 2 queries.