VB 时间段判断

来源:百度知道 编辑:UC知道 时间:2024/07/07 16:19:23
实在是找不出原因了(水平有限),请大家帮忙看看,我就是想判断一个文件的最后一次修改时间是否在一个时间段内。
Private Sub page_date(namestr As String, pathname As String)
Dim filetime As Date
Dim fs As Variant
Dim f As Variant
Set fs = CreateObject("Scripting.FileSystemObject") '创建FileSystemObject 对象
Do While namestr <> ""
Set f = fs.GetFile(pathname & namestr) '返回指定路径文件所对应的 File 对象
filetime = f.DateLastModified ’获得文件时间
If filetime >= begintime And filetime <= lsttime Then
List1.AddItem pathname & namestr
End If
namestr = Dir

Loop
End Sub
(lsttime和begintime都是全局变量 date型,已经赋值,需要说明的是,这些值从年到秒的数时间都有,我怀疑是因为太精确了,需要提取年月日来判断,不知道我的判断是否正确,要怎么提取年月日)

代码貌似没什么问题啊,只是不太完整,这个namestr = Dir 是从那定义的,改了一下是可以的,例子:

Private Sub Command1_Click()
Dim filetime As Date
Dim fs As Variant
Dim f As Variant

Dim namestr As String
Dim pathname As String
Dim begintime As Date
Dim lsttime As Date

pathname = "c:\音乐\"

begintime = "2007-01-01 00:00:01"
lsttime = "2007-01-30 23:00:00"

Set fs = CreateObject("Scripting.FileSystemObject") '创建FileSystemObject 对象

namestr = Dir(pathname & "*.*")

Do While namestr <> ""
Set f = fs.GetFile(pathname & namestr) '返回指定路径文件所对应的 File 对象
filetime = f.DateLastModified '获得文件时间
If filetime >= begintime And filetime <= lsttime Then
List1.AddItem pathname & namestr
End If
namestr = Dir
Loop

End Sub

其他代码不变,把这句改一下看行不行:
filetime =cdate(f.DateLastModifie