黑客X档案官方论坛's Archiver

grrxrslt 发表于 2008-7-22 10:34

关于VB时间对比的问题

DateDiff("d", #5/1/2008#, #5/5/2008#) = slt
s = DateValue(slt)
Label1.Caption = s
提示 '424'
要求对象
这个是么原因,懂的说一下。
再问一下,如果要比较本地时间和储存时间,还有其他方法吗,有的请贴下代码,谢谢了

编程小猪 发表于 2008-7-23 14:25

你为什么要用变量slt来为函数赋值呢?

DateDiff 函数用于判断在两个日期之间存在的指定时间间隔的数目。例如可以使用 DateDiff 计算两个日期相差的天数,或者当天到当年最后一天之间的星期数。

DATEVALUE
返回 date_text 所代表的日期的序列数。使用 DATEVALUE 可将由文本所代表的日期转换为序列数。
日期是作为有序序列数进行存储的,因此可将其用于计算。默认情况下,1899 年 12 月 31 日的序列数为 1,而 2008 年 1 月 1 日的序列数为 39448,因为它是 1900 年 1 月 1 日之后的第 39,448 天。
而DATEVALUE在MSDN上的说明是这样的:
Public Function DateValue(ByVal StringDate As String) As DateTime返回一个 [b]Date[/b] 值,该值包含用字符串表示的日期信息,其时间信息设置为午夜 (00:00:00)。
示例:
[color=blue]Dim[/color] oldDate [color=blue]As[/color] [color=blue]Date[/color]
oldDate = DateValue([color=maroon]"February 12, 1969"[/color])

[[i] 本帖最后由 编程小猪 于 2008-7-23 14:38 编辑 [/i]]

grrxrslt 发表于 2008-7-24 12:16

我是刚学的不是很懂,如果要计算5/1/2008,和5/5/2008之间差几天,具体该怎么写啦 。还有用DateDiff函数不是可以返回日期差吗 ?如果赋值是slt 那么slt表示的应该就是一个天数值,不应该是DATE属性吧

编程小猪 发表于 2008-7-24 22:41

我现在没有VB,你试试这个看行不。
slt=DateDiff("d", #5/1/2008#, #5/5/2008#)
Label1.Caption = slt

页: [1]


Powered by Discuz! 6.1.0  © 2001-2007 Comsenz Inc.