如何比较文件的生成时间和系统时间差?又有新疑问,等待大侠指教~!
如何写个函数,比较某个文件夹下的文件生成时间和系统时间相差不超过一小时?先谢谢各位大侠了~ ^_^ (问题已解决,见7楼)
新疑问:
我想判断系统时间和文件时间差是否超过一小时
而f.datecreated取回的是一个完整时间,包括日期、时分秒,而且是一个对象
但是系统时间通过date、time取到的是两个字符串
问题1.类型都不一致,如何比较
问题2.怎么样才能让他们相减的单位是小时呢?多谢大侠指教啊~~
[ 本帖最后由 haha_s 于 2008-10-21 14:24 编辑 ] 用kernel32.dll来取文件生成时间lpCreationTime好了,然后和系统时间相减 :lol
楼上的方法复杂点。这个是访问文件夹的,如果要访问文件的,例如text的,方法需要另写
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder("C:\xiaoi_log") '文件夹路径
S = S & f.DateCreated '文件创建时间
S = S& f.DateLastAccessed '文件最后访问时间
S = S & f.DateLastModified '文件最后修改时间
msgbox s
然后系统的时间,直接拿data就可以了 不在的方法不错,受教了:) 学习了 Attributes 属性 |DateCreated 属性 |DateLastAccessed 属性 | DateLastModified 属性 | Drive 属性 | Files 属性 | IsRootFolder 属性 | Name 属性 | ParentFolder 属性 | Path 属性 | ShortName 属性 | ShortPath 属性 | Size 属性 | SubFolders 属性 | Type 属性
应用于:File 对象 | Folder 对象
有这可以用的,就不用调Dll来做了,简单方便啊 不在大侠的方法果真灵验,多谢呵呵
问题解决,代码如下:
Dim fso, f,ShowFileInfo
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile("D:\StarTeam\ff.bmp")
ShowFileInfo = "Created: " & f.DateCreated
msgbox ShowFileInfo
但是又有一个疑问,我想判断系统时间和文件时间差是否超过一小时
而f.datecreated取回的是一个完整时间,包括日期、时分秒
但是系统时间通过date、time取到的是两个字符串
怎么样才能让他们相减的单位是小时呢?多谢大侠指教啊~~
[ 本帖最后由 haha_s 于 2008-10-21 14:11 编辑 ] 转换为时间格式,然后和now相减再乘以24就行了 :lol
你发信息给我,就帮你回复下吧。
Dim fso, f,ShowFileInfo
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile("D:\StarTeam\ff.bmp")
ShowFileInfo =f.DateCreated '这里如果有其它字符,会导致出错,在使用hour转换的时候
The_Hour=Hour(ShowFileInfo )
ifThe_Hour-Hour(now)>1 then
msgbox "超过一个小时"
else
msgbox "没超过一个小时"
end if 多谢楼上的不在TX哈
问题解决! :hug: 解决就好,来朵花先:lol ,好久没人送花了。:$ 屁股 我来给你送花:funk: :funk: 原帖由 fwlikexbx 于 2008-10-22 10:34 发表 http://bbs.51testing.com/images/common/back.gif
屁股 我来给你送花:funk: :funk:
为什么
顶
支持 牛人呀
页:
[1]