首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • C#时间问题,知道的大人进 [已结贴,结贴人:wk01221]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 10:44:14 楼主
      如SQL数据库的时间是1983-5-9 12:12:05,但用C#DATAGRID取出来就变成1983-5-9 12:12:06了,差了一个毫秒,这是怎么回事啊,怎么解决?
    88  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 10:45:431楼 得分:4
    不懂,帮顶.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yyq136
    • 等级:
    发表于:2008-07-08 10:48:542楼 得分:4
    每遇到过这样的事情

    但是你可以将数据库中的时间先转换成字符串,然后再读出到DataGrid中
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ztb
    • 等级:
    发表于:2008-07-08 10:51:123楼 得分:4
    一般都用字符来存储日期数据,便于处理
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liuqian4243
    • 等级:
    发表于:2008-07-08 10:51:234楼 得分:4
    晕。

    就一个毫秒,需要解决么?
    难道是航空航天应用不成


    估计是毫秒下面更小的单位,取出来时四舍五入什么的,就变了吧?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ojlovecd
    • 等级:
    发表于:2008-07-08 10:56:065楼 得分:4
    没试过
    ps.楼主的例子应该是差了一秒,不是一毫秒吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 11:03:026楼 得分:4
    没试过,毫秒还是秒。这个区别很大的。楼主要弄清楚啊。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 11:08:387楼 得分:4
    取的是当前时间么?
    可能是两个取时间的机制不同吧,比如实际时间是1983-5-9 12:12:05:501这个时间,但是在数据库时间转换后,后面的毫秒全部被省略了,则为1983-5-9 12:12:05,而C#里面则把这个时间保留并进到秒上去了,变成了1983-5-9 12:12:06
    未作测试,只是知道有这么一回事!楼主可以测试看看
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 11:09:328楼 得分:4
    执行时间不同,得到的系统时间当然不同,而且按lz的代码看,应该是差了1s,去一个作为标准用吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 11:11:099楼 得分:4
    四舍五入问题,呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 11:11:4110楼 得分:0
    存储的时候直接存储一个不带毫秒的时间就行了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 11:11:5011楼 得分:4
    1983-5-9 12:12:05后面的毫秒全部被省略,我遇到过,就差那一秒吗,也没什么,四舍五入了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • noky
    • 等级:
    发表于:2008-07-08 11:14:2012楼 得分:3
    属于格式问题,时间是不精确的数据对象,没有什么大惊小怪的,如果你把时间调整为毫秒级的,那么精度就更高一些了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 11:14:2713楼 得分:3
    不必非用字符串啊.其实就用DATETIME进行存储也可以.比如你用DATETIMEPICKER,存入数据库的时候直接进行一个datetime.parse(datetimepicker.text.trim())就可以了,其实区分开数据类型这个在数据存储中很重要.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 11:14:3714楼 得分:3
    1毫秒也要求这么高啊,请问哈LZ从事什么开发的哦?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 12:56:4215楼 得分:3
    引用 12 楼 noky 的回复:
    属于格式问题,时间是不精确的数据对象,没有什么大惊小怪的,如果你把时间调整为毫秒级的,那么精度就更高一些了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 12:59:5316楼 得分:3
    因为你并不是同时取得时间。
    指令的执行是有先后顺序的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 13:13:2817楼 得分:3
    引用 14 楼 beancurd005 的回复:
    1毫秒也要求这么高啊,请问哈LZ从事什么开发的哦?


    估计是国家安全局制造氢弹什么的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 13:38:2218楼 得分:3
    转换为字符串之后就会丢失毫秒。我一般是把读出来的转换成DateTime类型,然后.millisecond取出毫秒,加到时间字符串后面。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yagebu1983
    • 等级:
    发表于:2008-07-08 14:08:3719楼 得分:3
    你可以格式化啊!!!!
    或者sql函数处理!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 15:01:1720楼 得分:3
    数据库里面还有个毫秒,你在表格显示时,没有将它显示出来,系统就帮你四舍五入了。
    你可以选择在表格厘面显示毫秒就可以了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 15:04:5321楼 得分:3
    看看!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 15:08:1722楼 得分:3
    都被LZ耍了
    1983-5-9 12:12:05 --- 1983-5-9 12:12:06
    这是差一毫秒吗。。。是1秒。。也不看清楚
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 15:48:4523楼 得分:3
    头一次看见,但有可能,两种程序时间计算机制会不同。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 15:53:3724楼 得分:3
    有意思。就算是四舍五入。那么查询出来以后也应该是按照数据库里的值才对。所以我想四舍五入不成立。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 15:54:0325楼 得分:3
    哈哈,时区不同
    SQL里面是SQL时区
    .NET里面是.NET时区
    叫.NET稍微加快一点点
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Ador3
    • 等级:
    发表于:2008-07-08 15:59:0526楼 得分:3
    引用 25 楼 TaoXiaobing 的回复:
    哈哈,时区不同
    SQL里面是SQL时区
    .NET里面是.NET时区
    叫.NET稍微加快一点点

    哈哈
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhnzzy
    • 等级:
    发表于:2008-07-08 16:45:1827楼 得分:3
    引用 25 楼 TaoXiaobing 的回复:
    哈哈,时区不同
    SQL里面是SQL时区
    .NET里面是.NET时区
    叫.NET稍微加快一点点

    o
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-08 17:21:1328楼 得分:0
    那该怎么解决呢?
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved