关于时间比较的问题

unix123 2000-03-14 09:59:00
我在VB编程中遇到一个很奇怪的问题,我从Sql Server中取出的datetime
类型的数据放在Date类型的变量中,例如
dim tmp1 as date
dim tmp2 as date
dim int1 as integer
tmp1=rs.fields("starttime")
int1=rs.fields("period")
rs.movenext
tmp2=rs.fields("starttime")
if tmp1+int1/86400 =tmp2 then
...
end if
但我发现有时明明通过msgbox观察到数值相等,可它就是返回false,
不知道是什么原因,其实我应用的角度就是要把数据库中时间连续的
记录进行合并,假如有三条满足合并条件的记录,用此方法判断第一
第二条时ok,但判断第一第三条却不行(判断第一第三条时我已经把
第一第二条的时长做了累加),望高手指点,谢谢!!
...全文
137 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cooler 2000-03-15
  • 打赏
  • 举报
回复
sql server中的DATETIME字段精确到了毫秒级,
如果你需要比较到秒或秒以上,可以使用FORMAT函数进行格式化,如:
FORMAT(DATE,"YYYYMMDD")
然后使用字符串的比较函数直接比较
929 2000-03-14
  • 打赏
  • 举报
回复
在SQL SERVER中DATETIME精度很高,应该是精确到毫秒。估计,你在比较时认为只精确到分或秒。所以实际比较时会出现不等的现象。可以把DATETIME的值转换成SMALLDATETIME或在程序中对时间进行处理。也可以象比较实数那样在满足一定范围的情况下,认为相等。这样比较就可以了。
课程内容:本课程是《Java工程师必学系列课程》的第6部分,主要讲解Java语言中中新旧两代日期时间相关的类、日期时间相关的处理方法、历法和时间计算的常识,在课程的最后还安排了万年历实战项目本课程涉及的主要内容可以分为四部分:一、Java语言旧日期时间系统二、Java8新日期时间系统三、日期、时间、历法基础知识四、万年历项目课程说明:在开发Java程序的过程中,无论做什么类型的项目,基本上都会处理与日期和时间相关的问题。既然日期时间问题的处理已经成了程序必须要掌握的技能,那我们就必须认真深入的学习日期时间的计算和处理方法。本课程将深入讲解Java语言新旧两代日期时间系统的相关知识。在讲解的过程中,不仅仅讲解如何调用各种类所提供的方法去处理相关问题,更是从原理上深入分析了这些类的设计原理,以及要如何避免在实战中踩到那些非常隐蔽的大坑。此外,除了讲解日期时间相关工具类的使用,本课程还向广大学员普及了一些必要的日期、时间和历法的相关知识。让学员能够从根本上理解日期时间算法的设计思路。同时,本课程在最后一部分,安排了非常精彩的、完整的万年历项目,通过实战的形式切实帮助学员提高解决具体问题的能力!预期效果:认真学习完本课程,学员可以掌握日期时间计算和处理的相关知识,并能提高实际的编码水平。配套福利:万年历软件的完整源码环境配置要求:学习本课程需安装JDK13或更高版本的JDK,以便程序能正确运行,建议使用IntelliJ IDEA 2019.1.2或更高版本的开发工具。因有合作协议约束,《穆哥学堂》只提供PDF版本的课件!

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧