无论哪种编程语言,时间肯定都是非常重要的部分,今天来看一下python如何来处理时间和python定时任务

注意:本篇所讲是python3版本的实现,在python2版本中的实现略有不同

1.计算明天和昨天的日期

#! /usr/bin/env python
#coding=utf-8
# 获取今天、昨天和明天的日期
# 引入datetime模块
import datetime
#计算今天的时间
today = datetime.date.today()
#计算昨天的时间
yesterday = today - datetime.timedelta(days = 1)
#计算明天的时间
tomorrow = today + datetime.timedelta(days = 1)
#打印这三个时间
print(yesterday, today, tomorrow)

2.计算上一个的时间

方法一:

#! /usr/bin/env python
#coding=utf-8
# 计算上一个的时间
#引入datetime,calendar两个模块
import datetime,calendarlast_friday = datetime.date.today()
oneday = datetime.timedelta(days = 1) while last_friday.weekday() != calendar.FRIDAY: last_friday -= oneday print(last_friday.strftime('%A, %d-%b-%Y'))

方法二:借助模运算寻找上一个星期五

#! /usr/bin/env python
#coding=utf-8
# 借助模运算,可以一次算出需要减去的天数,计算上一个星期五
#同样引入datetime,calendar两个模块
import datetime
import calendar today = datetime.date.today()
target_day = calendar.FRIDAY
this_day = today.weekday()
delta_to_target = (this_day - target_day) % 7
last_friday = today - datetime.timedelta(days = delta_to_target) print(last_friday.strftime("%d-%b-%Y"))

3.计算歌曲的总播放时间

#! /usr/bin/env python
#coding=utf-8
# 获取一个列表中的所有歌曲的播放时间之和
import datetime def total_timer(times): td = datetime.timedelta(0) duration = sum([datetime.timedelta(minutes = m, seconds = s) for m, s in times], td) return duration times1 = [(2, 36), (3, 35), (3, 45), ]
times2 = [(3, 0), (5, 13), (4, 12), (1, 10), ] assert total_timer(times1) == datetime.timedelta(0, 596)
assert total_timer(times2) == datetime.timedelta(0, 815) print("Tests passed.\n""First test total: %s\n""Second test total: %s" % (total_timer(times1), total_timer(times2)))

4.反复执行某个命令

#! /usr/bin/env python
#coding=utf-8
# 以需要的时间间隔执行某个命令 import time, os def re_exe(cmd, inc = 60): while True: os.system(cmd); time.sleep(inc) re_exe("echo %time%", 5)

5.定时任务

#! /usr/bin/env python
#coding=utf-8
#这里需要引入三个模块
import time, os, sched # 第一个参数确定任务的时间,返回从某个特定的时间到现在经历的秒数
# 第二个参数以某种人为的方式衡量时间
schedule = sched.scheduler(time.time, time.sleep) def perform_command(cmd, inc): os.system(cmd) def timming_exe(cmd, inc = 60): # enter用来安排某事件的发生时间,从现在起第n秒开始启动 schedule.enter(inc, 0, perform_command, (cmd, inc)) # 持续运行,直到计划时间队列变成空为止 schedule.run() print("show time after 10 seconds:")
timming_exe("echo %time%", 10)

6.利用sched实现周期调用

#! /usr/bin/env python
#coding=utf-8
import time, os, sched # 第一个参数确定任务的时间,返回从某个特定的时间到现在经历的秒数
# 第二个参数以某种人为的方式衡量时间
schedule = sched.scheduler(time.time, time.sleep) def perform_command(cmd, inc): # 安排inc秒后再次运行自己,即周期运行 schedule.enter(inc, 0, perform_command, (cmd, inc)) os.system(cmd) def timming_exe(cmd, inc = 60): # enter用来安排某事件的发生时间,从现在起第n秒开始启动 schedule.enter(inc, 0, perform_command, (cmd, inc)) # 持续运行,直到计划时间队列变成空为止 schedule.run() print("show time after 10 seconds:")
timming_exe("echo %time%", 10)

这里推荐一下我的:Python学习交流q-u-n-【 784758214 】内有安装包和学习视频资料免费分享,好友都会在里面交流,分享一些学习的方法和需要注意的小细节,每天也会准时的讲一些项目实战案例。希望可以帮助你快速了解Python、学习python

Python3优雅操作-时间处理与定时任务相关推荐

  1. python3发布时间_Python3优雅操作-时间处理与定时任务

    无论哪种编程语言,时间肯定都是非常重要的部分,今天来看一下python如何来处理时间和python定时任务 注意:本篇所讲是python3版本的实现,在python2版本中的实现略有不同 1.计算明天 ...

  2. 深入Quartz,优雅地管理你的定时任务

    深入Quartz,优雅地管理你的定时任务 1 初识Quartz 2 Quartz基础使用 2.1 基于时间间隔的定时任务 2.2 基于Cron表达式的定时任务 3 Quartz解读 3.1 Job 3 ...

  3. python3菜鸟教程中文-Python3 日期和时间

    Python3 日期和时间 Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间 ...

  4. Python3 文件操作

    Python3 文件操作 讲师:张学亮 百度:学亮编程手记 网易云课堂:@张学亮 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到 ...

  5. python从入门到大神---4、python3文件操作最最最最简单实例

    python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...

  6. python3字典详解_Python3字典操作详解 Python3字典操作大全

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:sking #Python3字典操作详解  Python3字典操作大全 #字典是无序的(因为它 ...

  7. 技术精讲丨多线程环境下时间轮-海量定时任务的定时器设计

    多线程环境下海量定时任务处理-定时器设计 1.  定时器设计 2.  红黑树.最小堆以及跳表的实现对比 3.  时间轮的实现 视频讲解如下,点击观看: 技术精讲丨多线程环境下时间轮-海量定时任务的定时 ...

  8. python3完美操作xls表格

    python3完美操作xls表格 1.本地安装库依赖 2.pip install xlutils xlrd xlwt 安装成功如下结果: 3.源码附上: import xlrd import xlwt ...

  9. golang数据聚合的优雅操作

    golang数据聚合的优雅操作 场景: 需要将上传的数据进行特性分组之后再进行数据库批量插入或流向下一个处理方法. 痛点: 由于数据不确定性做聚合操作之后会有多组数据需要缓存,如果多协程进行操作需要将 ...

  10. Python3 - 时间处理与定时任务

    无论哪种编程语言,时间肯定都是非常重要的部分,今天来看一下python如何来处理时间和python定时任务,注意咯:本篇所讲是python3版本的实现,在python2版本中的实现略有不同,有时间会再 ...

最新文章

  1. R语言sd函数计算数值标准差实战(Standard Deviation)
  2. 我热爱计算机作文500字,电脑吸引了我
  3. 动捕技术是拯救VR体验的关键,但如何落地却已成为世界难题
  4. mongodb 按配置文件mongodb.conf启动
  5. C#-异步Ping检查网络通断
  6. CentOS安装 Go 环境
  7. fatal error LNK1103: debugging information corrupt; recompile module
  8. Rxjs debounce 操作符在 SAP Spartacus 函数节流中的一个实际使用例子
  9. 判断字符串出栈合法性
  10. Kubernetes的Device Plugin设计解读
  11. 怎样在安卓中实现在锁屏状态下弹出对话框,并可以震动和铃声,就像闹钟似的?...
  12. GDB中打印pthread_internal_t的方法
  13. (黑马教程笔记)前端工程化-模块化规范
  14. uni-ap开发开发小程序 怎么使用阿里云播放器
  15. 内存卡linux系统格式化,SD卡无法格式化怎么办的解决方法
  16. 第一章 数学建模与误差分析
  17. 怎样用计算机制作漫画,用电脑绘制漫画需要些什么?步骤是什么?
  18. python you-get ffmpeg 下载哔哩哔哩视频
  19. SSRF---gopher和dict打redis
  20. MySQL中强大的mysqladmin

热门文章

  1. 微信小程序转发,发送朋友圈(uni-app)
  2. PHP学习笔记五(命名空间)
  3. PHP根据开始、结束时间:计算开始、结束时间占当月总天数的百分比
  4. 验证码重新发送倒计时
  5. 六石管理学:到了一定境界,确实可以随心所欲
  6. 母机修改了文件,虚拟机复制到的可能不是预期的
  7. Eclipse中输入点号(.)不提示类成员(函数、字段)的解决办法
  8. SHELL中获取函数返回值
  9. 泰山游记:为何爬山后大腿前部很酸?
  10. 纽微特记事:可笑的国际版