python脚本设置系统时间的两种方法


Posted in Python onFebruary 21, 2016

本文为大家分享了两种python脚本设置系统时间的方法,供大家参考,具体内容如下

第一种方法,使用Python设置系统时间,即给系统校时

#电脑时间用了一段时间后,系统时间不准了,想更新一下

#在windows里面,更新系统时间,时常失败,而且速度很忙.

#在网上拷贝的代码,发现很好用,比windows自带的实现要快. 
#-*- coding:utf-8 -*- 
 
import socket 
import struct 
import time 
import win32api 
 
TimeServer = '210.72.145.44' #国家授时中心ip 
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]

速度很快的,只要双击一下Py文件就可以了

第二种方法,python第三方库推荐,通过ntplib在windows上同步时间
很多时候我们有通过程序脚本同步校正北京时间的需求。
在linux上同步时间比较方便,安装个ntpdate软件就行了。
但是在windows的要同步时间比较麻烦。
这时想到的就是从网络获取一个准确的时间,然后调用dos命令修改时间。
从哪里获取呢?当然是国家授时中心。
授时中心的网址是 cn.pool.ntp.org(注意,流传甚广的210.72.145.44这个ip已经失效了,直接用域名。)
不过从授时中心获取的时间需要ntp协议解析。
ntplib就是干这事的。
另外值得一提的是在dos修改日期时间要通过2个命令实现,date命令修改日期,time命令修改时间。

安装ntplib:

easy_install ntplib或pip install ntplib

下面上代码。

import os 
import time 
import ntplib 
c = ntplib.NTPClient() 
response = c.request('pool.ntp.org') 
ts = response.tx_time 
_date = time.strftime('%Y-%m-%d',time.localtime(ts)) 
_time = time.strftime('%X',time.localtime(ts)) 
os.system('date {} && time {}'.format(_date,_time))

以上就是本文的全部内容,两种python脚本设置系统时间的方法,大家学会了吗?

Python 相关文章推荐
python中使用urllib2获取http请求状态码的代码例子
Jul 07 Python
Python比较两个图片相似度的方法
Mar 13 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
Mar 30 Python
Python实现的Excel文件读写类
Jul 30 Python
python实现跨excel的工作表sheet之间的复制方法
May 03 Python
python 杀死自身进程的实现方法
Jul 01 Python
Python数据类型之列表和元组的方法实例详解
Jul 08 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
Jul 11 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
PyTorch笔记之scatter()函数的使用
Feb 12 Python
python简单利用字典破解zip文件口令
Sep 07 Python
Django restful framework生成API文档过程详解
Nov 12 Python
python脚本设置超时机制系统时间的方法
Feb 21 #Python
Go语言基于Socket编写服务器端与客户端通信的实例
Feb 19 #Python
使用C#配合ArcGIS Engine进行地理信息系统开发
Feb 19 #Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
Feb 19 #Python
Python实现以时间换空间的缓存替换算法
Feb 19 #Python
Python使用爬虫猜密码
Feb 19 #Python
使用Python简单的实现树莓派的WEB控制
Feb 18 #Python
You might like
5.PHP的其他功能
2006/10/09 PHP
如何用PHP实现插入排序?
2013/04/10 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
JavaScript中按位“异或”运算符使用介绍
2014/03/14 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
2015/11/30 Javascript
基于JavaScript实现在新的tab页打开url
2016/08/04 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
浅谈Vue-cli 命令行工具分析
2017/11/22 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
js实现列表按字母排序
2020/08/11 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
[01:19:54]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#1Alliance VS EHOME
2016/03/03 DOTA
python持久性管理pickle模块详细介绍
2015/02/18 Python
利用Python演示数型数据结构的教程
2015/04/03 Python
如何使用Python实现自动化水军评论
2019/06/26 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
中科创达面试题
2016/12/28 面试题
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
银行实习自我鉴定
2013/10/12 职场文书
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
广播节目策划方案
2014/05/23 职场文书
学校火灾防控方案
2014/06/09 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
护士辞职信怎么写
2015/02/27 职场文书
企业宣传语大全
2015/07/13 职场文书
小学语文教学随笔
2015/08/14 职场文书
工作报告范文
2019/06/20 职场文书
SpringBoot整合Mybatis Generator自动生成代码
2021/08/23 Java/Android
python中的3种定义类方法
2021/11/27 Python