39 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
# coding=utf-8
 | 
						||
import os
 | 
						||
import platform
 | 
						||
 | 
						||
import ntplib
 | 
						||
import datetime
 | 
						||
 | 
						||
 | 
						||
def autoSynchroTime():
 | 
						||
    """
 | 
						||
    同步北京时间,执行时候,请务必用sudo,sudo,sudo 执行,否则会报权限错误,windows打开ide或者cmd请用管理员身份
 | 
						||
    :return:
 | 
						||
    """
 | 
						||
    c = ntplib.NTPClient()
 | 
						||
 | 
						||
    hosts = ['ntp1.aliyun.com', 'ntp2.aliyun.com', 'ntp3.aliyun.com', 'ntp4.aliyun.com', 'cn.pool.ntp.org']
 | 
						||
 | 
						||
    print(u"正在同步时间,请耐心等待30秒左右,如果下面有错误发送,可以忽略!!")
 | 
						||
    print(u"系统当前时间{}".format(str(datetime.datetime.now())[:22]))
 | 
						||
    system = platform.system()
 | 
						||
    if system == "Windows":  # windows 同步时间未测试过,参考地址:https://www.jianshu.com/p/92ec15da6cc3
 | 
						||
        for host in hosts:
 | 
						||
            os.popen('w32tm /register')
 | 
						||
            os.popen('net start w32time')
 | 
						||
            os.popen('w32tm /config /manualpeerlist:"{}" /syncfromflags:manual /reliable:yes /update'.format(host))
 | 
						||
            os.popen('ping -n 3 127.0.0.1 >nul')
 | 
						||
            sin = os.popen('w32tm /resync')
 | 
						||
            if sin is 0:
 | 
						||
                break
 | 
						||
    else:  # mac同步地址,如果ntpdate未安装,brew install ntpdate    linux 安装 yum install -y ntpdate
 | 
						||
        for host in hosts:
 | 
						||
            sin = os.popen('ntpdate {}'.format(host))
 | 
						||
            if sin is 0:
 | 
						||
                break
 | 
						||
    print(u"同步后时间:{}".format(str(datetime.datetime.now())[:22]))
 | 
						||
 | 
						||
 | 
						||
if __name__ == '__main__':
 | 
						||
    autoSynchroTime() |