51Testing软件测试论坛

标题: 如何比较文件的生成时间和系统时间差?又有新疑问,等待大侠指教~! [打印本页]

作者: haha_s    时间: 2008-10-20 21:59
标题: 如何比较文件的生成时间和系统时间差?又有新疑问,等待大侠指教~!
如何写个函数,比较某个文件夹下的文件生成时间和系统时间相差不超过一小时?
先谢谢各位大侠了~   ^_^   (问题已解决,见7楼)

新疑问:
我想判断系统时间和文件时间差是否超过一小时
而f.datecreated取回的是一个完整时间,包括日期、时分秒,而且是一个对象
但是系统时间通过date、time取到的是两个字符串
问题1.类型都不一致,如何比较
问题2.怎么样才能让他们相减的单位是小时呢?多谢大侠指教啊~~

[ 本帖最后由 haha_s 于 2008-10-21 14:24 编辑 ]
作者: hsjzfling    时间: 2008-10-21 02:08
用kernel32.dll来取文件生成时间lpCreationTime好了,然后和系统时间相减
作者: 假装不在    时间: 2008-10-21 09:40

楼上的方法复杂点。这个是访问文件夹的,如果要访问文件的,例如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就可以了
作者: tmqq    时间: 2008-10-21 11:06
不在的方法不错,受教了
作者: LittleDuck    时间: 2008-10-21 11:22
学习了
作者: zbyufeifei    时间: 2008-10-21 11:27
Attributes 属性 |  DateCreated 属性 |DateLastAccessed 属性 | DateLastModified 属性 | Drive 属性 | Files 属性 | IsRootFolder 属性 | Name 属性 | ParentFolder 属性 | Path 属性 | ShortName 属性 | ShortPath 属性 | Size 属性 | SubFolders 属性 | Type 属性

应用于:File 对象 | Folder 对象

有这可以用的,就不用调Dll来做了,简单方便啊
作者: haha_s    时间: 2008-10-21 13:45
不在大侠的方法果真灵验,多谢呵呵
问题解决,代码如下:
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 编辑 ]
作者: hsjzfling    时间: 2008-10-21 16:50
转换为时间格式,然后和now相减再乘以24就行了
作者: 假装不在    时间: 2008-10-21 17:18

你发信息给我,就帮你回复下吧。
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 )
if  The_Hour-Hour(now)>1 then
  msgbox "超过一个小时"
else
  msgbox "没超过一个小时"
end if
作者: haha_s    时间: 2008-10-21 18:35
多谢楼上的不在TX哈
问题解决!
作者: 假装不在    时间: 2008-10-21 20:03
解决就好,来朵花先 ,好久没人送花了。
作者: fwlikexbx    时间: 2008-10-22 10:34
屁股 我来给你送花
作者: 假装不在    时间: 2008-10-22 11:06
原帖由 fwlikexbx 于 2008-10-22 10:34 发表
屁股 我来给你送花


为什么
作者: tiancaim    时间: 2008-10-22 13:12
标题:
支持
作者: hxf    时间: 2008-10-30 14:48
牛人呀




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2