zoukankan      html  css  js  c++  java
  • 使用Python实现Win7开机自动同步Internet时间

    '''
    先说方法:

      1.写一个批处理TIMESYN.BAT,内容:python E:\Time\time.py

      2.创建一个vbs脚本,内容:CreateObject("WScript.Shell").Run "cmd /c E:\Time\TIMESYN.bat",0

      //上面E:\Time\TIMESYN.bat为第一步批处理文件的路径

      3.win+R,gpedit.msc,在计算机配置或者用户配置中的windows设置中的启动\登录中添加第二步创建的脚本

    解释:

    1.time.py是用来设置时间同步服务器的程序;

    2.创建脚本,运行不显示回显框

    3.开机运行

    PS:当然也可以直接添加shell脚本bat文件 不过这样做会在开机的时候出现一个黑框...囧
    PPS:这个东西是由于我电脑CMOS电池没电了.....每次开机时间都是2008/01/01 12:00  懒得换电池- -!
    '''
    #之前用的w32tm的方法不好用...主要由于时间相差太大windows拒绝更新时间
    #下面是python代码实现系统时间更新
    #-*- coding:utf-8 -*-

    import socket
    import struct
    import time
    import win32api

    TimeServer = 'time.nist.gov' #时间更新服务器
    Port = 123

    def getTime():
    TIME_1970 = 2208988800L
    client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    data = '\x1b' + 47 * '\0'
    client.sendto(data, (TimeServer, Port))
    data, address = client.recvfrom(1024)
    data_result = struct.unpack('!12I', data)[10]
    data_result -= TIME_1970
    return data_result

    def setSystemTime():
    tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst = time.gmtime(getTime())
    win32api.SetSystemTime(tm_year, tm_mon, tm_wday, tm_mday, tm_hour, tm_min, tm_sec, 0)
    print "Set System OK!"

    if __name__ == '__main__':
    setSystemTime()
    print "%d-%d-%d %d:%d:%d" % time.localtime(getTime())[:6]



  • 相关阅读:
    Linux内存管理 —— 为buddy做准备:MMU, TLB, ZONE【转】
    Linux内存管理 —— 文件系统缓存和匿名页的交换【转】
    linux内存源码分析
    Linux中匿名页的反向映射【转】
    zram 简介【转】
    Linux Swap 与 Zram 详解【转】
    Linux中的mmap映射 [一]【转】
    Linux中的mmap映射 [二]【转】
    python测试开发django-rest-framework-95.文件上传接口开发
    Airtest IDE 自动化测试8
  • 原文地址:https://www.cnblogs.com/aboutblank/p/2422407.html
Copyright © 2011-2022 走看看