Python使用time模块实现指定时间触发器示例


Posted in Python onMay 18, 2017

本文实例讲述了Python使用time模块实现指定时间触发器。分享给大家供大家参考,具体如下:

其实很简单,指定某个时间让脚本处理一个事件,比如说一个get请求~

任何语言都会有关于时间的各种方法,Python也不例外。

help(time)之后可以知道time有2种时间表示形式:

1、时间戳表示法,即以整型或浮点型表示的是一个以秒为单位的时间间隔。这个时间的基础值是从1970年的1月1号零点开始算起。

2、元组格式表示法,即一种python的数据结构表示。这个元组有9个整型内容。分别表示不同的时间含义。

    year (four digits, e.g. 1998)
    month (1-12)
    day (1-31)
    hours (0-23)
    minutes (0-59)
    seconds (0-59)
    weekday (0-6, Monday is 0)
    Julian day (day in the year, 1-366)
    DST (Daylight Savings Time) flag (-1, 0 or 1) ##夏令时格式,0:表示正常格式,1:表示为夏令时格式,-1:表示根据当前的日期时间格式来判定

time() 或者datetime.now() -- 返回当前时间戳,浮点数形式。不接受参数
clock() -- 返回当前程序的cpu执行时间。unix系统始终返回全部运行时间;而windows从第二次开始都是以第一次调用此函数时的时间戳作为基准,而不是程序开始时间为基准。不接受参数。
sleep() -- 延迟一个时间段,接受整型、浮点型。

gmtime() -- 将时间戳转换为UTC时间元组格式。接受一个浮点型时间戳参数,其默认值为当前时间戳。

localtime() -- 将时间戳转换为本地时间元组格式。接受一个浮点型时间戳参数,其默认值为当前时间戳。

asctime() -- 将时间元组格式转换为字符串形式。接受一个时间元组,其默认值为localtime()返回值

ctime() -- 将时间戳转换为字符串。接受一个时间戳,其默认值为当前时间戳。等价于asctime(localtime(seconds))

mktime() -- 将本地时间元组转换为时间戳。接受一个时间元组,必选。

strftime() -- 将时间元组以指定的格式转换为字符串形式。接受字符串格式化串、时间元组。时间元组为可选,默认为localtime()

strptime() -- 将指定格式的时间字符串解析为时间元组,strftime()的逆向过程。接受字符串,时间格式2个参数,都是必选。

并且其类型还可以做减法操作   然后用total_seconds()可以将某个时间差值转换为s,具体看后续代码部分

示例代码:

import httplib
import time
def doFirst():
  from datetime import datetime, timedelta
  curTime = datetime.now()
  #print curTime
  desTime = curTime.replace(hour=3, minute=0, second=0, microsecond=0)
  #print desTime
  delta = desTime-curTime
  #print delta
  skipSeconds = int(delta.total_seconds())
  #print skipSeconds
  if skipSeconds==0:
    return True
  else:
    if skipSeconds<0:
      skipSeconds+=24*60*60
    print "Must sleep %d seconds" % skipSeconds
    return False
#也可以采取获取当前时间差值然后自己计数,不过考虑误差问题,就不采取了
def getTime():
  from datetime import datetime, timedelta
  curTime = datetime.now()
  #print curTime
  desTime = curTime.replace(hour=3, minute=0, second=0, microsecond=0)
  #print desTime
  delta = desTime-curTime
  #print delta
  skipSeconds = int(delta.total_seconds())
  if skipSeconds<0:
    skipSeconds+=24*60*60
  print skipSeconds
  return skipSeconds
def gethttp():
  url = "URL"
  conn = httplib.HTTPConnection("IP")
  conn.request(method="GET",url=url)
  response = conn.getresponse()
  res= response.read()
  print res
#getTime()
while True:
  if doFirst():
    gethttp()
    time.sleep(24*59*60)
  time.sleep(1)
s.close()

Python使用time模块实现指定时间触发器示例

注:时间字符串支持的格式符号:

格式 含义备注

%a 本地(locale)简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01 - 31)
%H 一天中的第几个小时(24小时制,00 - 23)
%I 第几个小时(12小时制,01 - 12)
%j 一年中的第几天(001 - 366)
%m 月份(01 - 12)
%M 分钟数(00 - 59)
%p 本地am或者pm的相应符
%S 秒(01 - 61)
%U 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。
%w 一个星期中的第几天(0 - 6,0是星期天)
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% ‘%'字符

PS:本站还提供了几款关于Unix时间戳转换及日期在线工具,非常实用,提供给大家参考:

Unix时间戳(timestamp)转换工具:
http://tools.3water.com/code/unixtime

在线日期/天数计算器:
http://tools.3water.com/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.3water.com/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.3water.com/bianmin/yinli2yangli

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python代码制作configure文件示例
Jul 28 Python
python登录豆瓣并发帖的方法
Jul 08 Python
实例讲解Python设计模式编程之工厂方法模式的使用
Mar 02 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
在python下使用tensorflow判断是否存在文件夹的实例
Jun 10 Python
Python 调用 Windows API COM 新法
Aug 22 Python
python输出pdf文档的实例
Feb 13 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
Apr 07 Python
pandas分批读取大数据集教程
Jun 06 Python
Python远程linux执行命令实现
Nov 11 Python
python实现scrapy爬虫每天定时抓取数据的示例代码
Jan 27 Python
Python+Appium实现自动化清理微信僵尸好友的方法
Feb 04 Python
Python实现的文本简单可逆加密算法示例
May 18 #Python
Python操作MongoDB详解及实例
May 18 #Python
Python 迭代器与生成器实例详解
May 18 #Python
Python字符串处理实例详解
May 18 #Python
Python进阶-函数默认参数(详解)
May 18 #Python
Python装饰器实现几类验证功能做法实例
May 18 #Python
如何用itertools解决无序排列组合的问题
May 18 #Python
You might like
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
jquery ajax请求实例深入解析
2012/11/26 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
2013/09/10 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
利用python实现命令行有道词典的方法示例
2017/01/31 Python
Python闭包的两个注意事项(推荐)
2017/03/20 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
使用Python制作简单的小程序IP查看器功能
2019/04/16 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
python中如何使用虚拟环境
2020/10/14 Python
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
英国玛莎百货新西兰:Marks & Spencer New Zealand
2019/07/21 全球购物
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
采购部经理岗位职责
2014/02/10 职场文书
竞选学委演讲稿
2014/09/13 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
县人大领导班子四风对照检查材料思想汇报
2014/10/09 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
开学第一天的感想
2015/08/10 职场文书
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python