注册 登录
Office中国论坛/Access中国论坛 返回首页

的个人空间 http://www.office-cn.net/?0 [收藏] [复制] [分享] [RSS]

日志

API 设置调整系统当前时间

已有 2867 次阅读2008-4-28 13:36 |个人分类:API

对于时间要求比较严谨的情况下,需要对当前系统时间和外部时间作一个对比,并作相应的调整,这就要求能对系统时间重新设置

CODE:


'**************************************************
'
' 功能: 重新设置系统时间
' 用法: SetTime "2008-4-26 22:53:48"
' 作者: andymark
'  QQ : 42503577 ; Email: ewang11@163.com
' 备注:
'
'**************************************************
'设置当前系统时间
Private Declare Function SetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) As Long
Private Declare Function GetTimeZoneInformation Lib "kernel32" (lpTimeZoneInformation As TIME_ZONE_INFORMATION) As Long
Type SYSTEMTIME
    wYear As Integer
    wMonth As Integer
    wDayOfWeek As Integer
    wDay As Integer
    wHour As Integer
    wMinute As Integer
    wSecond As Integer
    wMilliseconds As Integer
End Type

'时区
Private Type TIME_ZONE_INFORMATION
        Bias As Long
        StandardName(32) As Integer
        StandardDate As SYSTEMTIME
        StandardBias As Long
        DaylightName(32) As Integer
        DaylightDate As SYSTEMTIME
        DaylightBias As Long
End Type

Public Sub SetTime(NewTime As String)
' 功能: 设置系统时间
   Dim lpSystemTime As SYSTEMTIME               '时间信息
   Dim ZoneNum As Integer
    ZoneNum = getZoneNum()
    With lpSystemTime
        .wYear = Year(NewTime)
        .wMonth = Month(NewTime) + 1
        .wDayOfWeek = -1
        .wDay = Day(NewTime)
        .wHour = Hour(NewTime) + ZoneNum
        .wMinute = Minute(NewTime)
        .wSecond = Second(NewTime)
        .wMilliseconds = 0
    End With
   
   SetSystemTime lpSystemTime
End Sub
Private Function getZoneNum() As Integer
    Dim lpSystemZone As TIME_ZONE_INFORMATION    '时区信息
    GetTimeZoneInformation lpSystemZone
    getZoneNum = lpSystemZone.Bias / 60
End Function
   

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

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

GMT+8, 2024-11-25 05:26 , Processed in 0.054836 second(s), 14 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部