设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3528|回复: 8
打印 上一主题 下一主题

API 设置调整系统当前时间

[复制链接]
跳转到指定楼层
1#
发表于 2008-4-27 23:15:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于时间要求比较严谨的情况下,需要对当前系统时间和外部时间作一个对比,并作相应的调整,这就要求能对系统时间重新设置


  1. '**************************************************
  2. '
  3. ' 功能: 重新设置系统时间
  4. ' 用法: SetTime "2008-4-26 22:53:48"
  5. ' 作者: andymark
  6. '  QQ : 42503577 ; Email: ewang11@163.com
  7. ' 备注:
  8. '
  9. '**************************************************
  10. '设置当前系统时间
  11. Private Declare Function SetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) As Long
  12. Private Declare Function GetTimeZoneInformation Lib "kernel32" (lpTimeZoneInformation As TIME_ZONE_INFORMATION) As Long
  13. Type SYSTEMTIME
  14.     wYear As Integer
  15.     wMonth As Integer
  16.     wDayOfWeek As Integer
  17.     wDay As Integer
  18.     wHour As Integer
  19.     wMinute As Integer
  20.     wSecond As Integer
  21.     wMilliseconds As Integer
  22. End Type

  23. '时区
  24. Private Type TIME_ZONE_INFORMATION
  25.         Bias As Long
  26.         StandardName(32) As Integer
  27.         StandardDate As SYSTEMTIME
  28.         StandardBias As Long
  29.         DaylightName(32) As Integer
  30.         DaylightDate As SYSTEMTIME
  31.         DaylightBias As Long
  32. End Type

  33. Public Sub SetTime(NewTime As String)
  34. ' 功能: 设置系统时间
  35.    Dim lpSystemTime As SYSTEMTIME               '时间信息
  36.    Dim ZoneNum As Integer
  37.     ZoneNum = getZoneNum()
  38.     With lpSystemTime
  39.         .wYear = Year(NewTime)
  40.         .wMonth = Month(NewTime) + 1
  41.         .wDayOfWeek = -1
  42.         .wDay = Day(NewTime)
  43.         .wHour = Hour(NewTime) + ZoneNum
  44.         .wMinute = Minute(NewTime)
  45.         .wSecond = Second(NewTime)
  46.         .wMilliseconds = 0
  47.     End With
  48.    
  49.    SetSystemTime lpSystemTime
  50. End Sub
  51. Private Function getZoneNum() As Integer
  52.     Dim lpSystemZone As TIME_ZONE_INFORMATION    '时区信息
  53.     GetTimeZoneInformation lpSystemZone
  54.     getZoneNum = lpSystemZone.Bias / 60
  55. End Function
复制代码


   
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-4-28 02:18:49 | 只看该作者
[:35]
3#
发表于 2008-4-28 08:17:43 | 只看该作者
好东西[:50]

点击这里给我发消息

4#
发表于 2008-4-28 11:24:57 | 只看该作者
A兄,这个和用Date() 和Time设置时间有什么不同?
5#
 楼主| 发表于 2008-4-28 13:22:11 | 只看该作者
在某些问题上如网络对时 对文件日期(创建 修改 访问) 等操作 会更加简便
6#
发表于 2008-5-11 11:59:20 | 只看该作者
好东西
7#
发表于 2008-5-11 12:25:39 | 只看该作者
收藏了。
8#
发表于 2009-9-27 10:42:19 | 只看该作者
谢谢分享,收藏了备用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-14 10:53 , Processed in 0.074390 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表