无论哪种编程语言,时间肯定都是非常重要的部分,今天来看一下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, sin 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)

Python3 - 时间处理与定时任务相关推荐

  1. python时间函数入门_calendar在python3时间中有哪些常用函数?怎么用?

    想要在python中写代码游刃有余,没有函数的支持是万万不行的.很多小伙伴反映,最近函数的应用知识不够了,所以小编挑选了python3时间中的函数,希望可以帮助大家在处理日历方面更加的迅速.其他更多的 ...

  2. python3的星期函数_calendar在python3时间中有哪些常用函数?怎么用?

    想要在python中写代码游刃有余,没有函数的支持是万万不行的.很多小伙伴反映,最近函数的应用知识不够了,所以小编挑选了python3时间中的函数,希望可以帮助大家在处理日历方面更加的迅速.其他更多的 ...

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

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

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

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

  5. python现在时间 命令_Python3 - 时间处理与定时任务

    1.计算明天和昨天的日期 #! /usr/bin/env python #coding=utf-8 # 获取今天.昨天和明天的日期 # 引入datetime模块 import datetime #计算 ...

  6. java 时间轮_基于时间轮的定时任务

    JobScheduleHelper是一个单列. 1-来看看类中的一些属性: public static final long PRE_READ_MS = 5000; // pre read priva ...

  7. linux修改定时任务时间,linux设置定时任务的方法步骤

    一,首先登录 root@k8s-node-1:~# 二,找到文件夹 root@k8s-node-1:~# cd /var/spool/cron/ root@k8s-node-1:/var/spool/ ...

  8. linux定时任务crontab 时间,shell后台定时任务时crontab的用法

    语法:crontab[-u username]|-l|-r|-e|-v -u:指定crontab job的用户 -l:列出当前crontab的job -e:使用$EDITOR编辑crontab job ...

  9. python3 时间、日期、时间戳的转换

    1.简介 在编写代码时,往往涉及时间.日期.时间戳的相互转换. 2.示例 # 引入模块 import time, datetime 2.1 str类型的日期转换为时间戳 # 字符类型的时间 tss1 ...

最新文章

  1. bootsrap Glyphicons 字体图标
  2. 成功解决ValueError: (‘Unknown transform primitive years. ‘, ‘Call ft.primitives.list_primitives() to get
  3. Cilium 首次集成国内云服务,阿里云 ENI 被纳入新版本特性
  4. 更别致的词向量模型(一):simpler glove
  5. 批处理如何清除文本文档里面的重复行
  6. java if,if...else...的应用
  7. ext Grid(三)
  8. 华为路由器http诊断失败_高端家庭的标配,华为路由Q2 Pro是路由器中的吴彦祖...
  9. 通过 powershell 配置 IIS
  10. 理解高性能Python
  11. 56. Merge Intervals - LeetCode
  12. Redisson 配置
  13. 远程服务器mstsc命令,远程桌面连接命令mstsc怎么用
  14. 用python监控互联网网速
  15. 显卡升级测试软件,Shader Model 5.0显卡测试工具 显卡升级测试工具
  16. 通过GRUB引导U盘为引导活动区,从硬盘安装win8 64bit
  17. win10系统下MyEclipse10.7的激活
  18. 【疫情分析--数据采集】
  19. JavaScript一键换肤
  20. Linux网络管理员面试题

热门文章

  1. (13)Python文件操作
  2. [转]ExtJs基础--Html DOM、Ext Element及Component三者之间的区别
  3. Oracle RAC集群体系结构
  4. 在路上(on the road)
  5. css什么是自适应布局,CSS自适应布局
  6. python将列表写入csv_转:Python 将列表数据写入文件(txt, csv, excel)
  7. php输出tab,设置Tab按钮列表 · DolphinPHP1.5.0完全开发手册-基于ThinkPHP5.1.41LTS的快速开发框架 · 看云...
  8. 一道关于宏的面试题及解答
  9. Django+Echarts画图实例
  10. java_io_listFile()的应用和匿名内部类