【修改时间】【转换时间】【ftp下载】

xyz21cn 2005-07-29 10:55:32
在ftp服务器上下载了文件,并读取了该文件的时间属性,把ftp文件的时间赋给了当地下载了的文件,但是差8个小时,如何使时间一致啊?部分代码如下
hConnection = InternetConnect(hOpen, ip, 0,username, password, 1, 0, 0)
bRet = FtpSetCurrentDirectory(hConnection, FtpServerDir)
pData.cFileName = String(MAX_PATH, 0)
hFind = FtpFindFirstFile(hConnection, "*.gz", pData, 0, 0)
mfile = Left(pData.cFileName, InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare) - 1)

FileHandle = CreateFile("c:\"+mfile, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0) {{文件名为mfile已下载在当地"c:\"下}}
SetFileTime FileHandle, pData.ftCreationTime, pData.ftLastAccessTime,pData.ftLastWriteTime
如何改代码使修改时间一致,而不相差8小时?
高手请帮忙啊!
...全文
150 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjs1688 2006-03-10
  • 打赏
  • 举报
回复
localtimetofiletime 这个函数是C语言的,VB的如何使用?
xyz21cn 2005-07-31
  • 打赏
  • 举报
回复
不是用filetimetolocaltime,用localtimetofiletime就可以搞定了
xyz21cn 2005-07-31
  • 打赏
  • 举报
回复
可能是hFind = FtpFindFirstFile(hConnection, "*.gz", pData, 0, 0)得到了文件的pData.ftCreationTime, pData.ftLastAccessTime,pData.ftLastWriteTime后,用filetimetolocaltime转换为当地时间后,再S用etFileTime赋值给已下载的文件的时间属性就行了。
我去试一试
mycatlove 2005-07-30
  • 打赏
  • 举报
回复
不知道你的FTP服务器是设定的哪个时区。相差8小时应该是设定的GTM吧。
一般FTP软件都有一个时区设定的。根据本地设定的时区和服务器时区来算出来一个修正值,然后最后给文件设定时间的时候就把这个修正值算上。
xyz21cn 2005-07-30
  • 打赏
  • 举报
回复

如何设啊?
mycatlove 2005-07-29
  • 打赏
  • 举报
回复
设定时区。

7,763

社区成员

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

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