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实现PS图像抽象画风效果的方法
Jan 23 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
May 24 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
python turtle库画一个方格和圆实例
Jun 27 Python
简单了解python单例模式的几种写法
Jul 01 Python
在django中自定义字段Field详解
Dec 03 Python
python读写Excel表格的实例代码(简单实用)
Dec 19 Python
Django admin管理工具TabularInline类用法详解
May 14 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 Python
结束运行python的方法
Jun 16 Python
Python全局变量与global关键字常见错误解决方案
Oct 05 Python
Python使用海龟绘图实现贪吃蛇游戏
Jun 18 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
一个简单的PHP&MYSQL留言板源码
2020/07/19 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
PHP session文件独占锁引起阻塞问题解决方法
2015/05/12 PHP
PHP Swoole异步Redis客户端实现方法示例
2019/10/24 PHP
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
JS图片轮播与索引变色功能实例详解
2017/07/06 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
[43:43]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第三场 11.29
2020/12/02 DOTA
Python3 循环语句(for、while、break、range等)
2017/11/20 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
bareMinerals官网:矿物质化妆品和护肤品
2018/02/04 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
一道输出判断型Java面试题
2014/10/01 面试题
日语专业毕业生求职信
2013/12/04 职场文书
企业给企业的表扬信
2014/01/13 职场文书
事业单位请假制度
2014/01/13 职场文书
基层党支部公开承诺书
2014/05/29 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
2014年精神文明工作总结
2014/12/23 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技