侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Python计时相关操作详解【time,datetime】

Python  /  管理员 发布于 7年前   521

本文实例讲述了Python计时相关操作。分享给大家供大家参考,具体如下:

内容目录:

1. 时间戳
2. 当前时间
3. 时间差
4. python中时间日期格式化符号
5. 例子

一、时间戳

时间戳是自 1970 年 1 月 1 日(08:00:00 GMT)至当前时间的总秒数。它也被称为 Unix 时间戳(Unix Timestamp),它在unix、c的世界里随处可见;常见形态是浮点数,小数点后面是毫秒。两个时间戳相减就是时间间隔(单位:秒)。

例:

import timetime1 = time.time()time.sleep(15)time2 = time.time()print time2 - time1

其中,time.sleep()是休眠函数,单位:秒。

二、当前时间

>>> import datetime,time>>> now = time.strftime("%Y-%m-%d %H:%M:%S")>>> print now2016-04-30 17:02:26>>> now = datetime.datetime.now()>>> print now

三、时间差

#1 昨天00:00到昨天23:59

>>> import datetime>>> yestoday = datetime.datetime.now() - datetime.timedelta(days=1)>>> t1 = "%s-00-00-00" % yestoday.strftime("%Y-%m-%d")>>> t2 = "%s-23-59-59" % yestoday.strftime("%Y-%m-%d")>>> print 't1', t1t1 2016-04-29-00-00-00>>> print 't2', t2t2 2016-04-29-23-59-59

#2 现在往后10小时

>>> d1 = datetime.datetime.now()>>> d3 = d1 + datetime.timedelta(hours=10)>>> d3.ctime()'Sun May 1 03:09:58 2

#3 这么一会的秒数、微妙数(注意是取秒、微妙部分,并不是等价转换)

>>> import datetime>>> starttime = datetime.datetime.now()>>> endtime = datetime.datetime.now()>>> starttime = datetime.datetime.now()>>> endtime = datetime.datetime.now()>>> print endtime - starttime0:00:07.390988>>> print (endtime - starttime).seconds7>>> print (endtime - starttime).microseconds390988

文件的时间戳

>>> import os>>> statinfo=os.stat(r"C:/1.txt")>>> statinfo(33206, 0L, 0, 0, 0, 0, 29L, 1201865413, 1201867904, 1201865413)

注:使用os.stat的返回值statinfo中的后三项是文件的st_atime (访问时间), st_mtime (修改时间), st_ctime(创建时间),例如,取得文件修改时间:

>>> statinfo.st_mtime1201865413.8952832

注:这个时间是一个linux时间戳,可以转换成易于理解的格式:

>>> import time>>> time.localtime(statinfo.st_ctime)(2008, 2, 1, 19, 30, 13, 4, 32, 0)

注:2008年2月1日的19时30分13秒(2008-2-1 19:30:13)

四、python中时间日期格式化符号

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

五、例子

#! coding:utf-8''''' 日期相关的操作 '''from datetime import datetimefrom datetime import timedeltaimport calendarDATE_FMT = '%Y-%m-%d'DATETIME_FMT = '%Y-%m-%d %H:%M:%S'DATE_US_FMT = '%d/%m/%Y''''''格式化常用的几个参数Y : 1999y :99m : mouth 02 12M : minute 00-59S : secondd : dayH : hour'''def dateToStr(date):  '''''把datetime类型的时间格式化自己想要的格式'''  return datetime.strftime(date, DATETIME_FMT)def strToDate(strdate):  '''''把str变成日期用来做一些操作'''  return datetime.strptime(strdate, DATETIME_FMT)def timeElement():  '''''获取一个时间对象的各个元素'''  now = datetime.today()  print 'year: %s month: %s day: %s' %(now.year, now.month, now.day)  print 'hour: %s minute: %s second: %s' %(now.hour, now.minute, now.second)  print 'weekday: %s ' %(now.weekday()+1) #一周是从0开始的def timeAdd():  '''''  时间的加减,前一天后一天等操作  datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])  参数可以是正数也可以是负数  得到的对象可以加也可以减 乘以数字和求绝对值  '''  atime = timedelta(days=-1)  now = datetime.strptime('2001-01-30 11:01:02', DATETIME_FMT)  print now + atime  print now - abs(atime)  print now - abs(atime)*31def lastFirday():   today = datetime.today()   targetDay = calendar.FRIDAY   thisDay = today.weekday()   de = (thisDay - targetDay) % 7   res = today - timedelta(days=de)   print resdef test():  print dateToStr(datetime.today())  print strToDate('2013-01-31 12:00:01')  timeElement()  timeAdd()  lastFirday()if __name__=='__main__':  test()

结果

Connected to pydev debugger (build 141.1899)2016-05-18 10:40:262013-01-31 12:00:01year: 2016 month: 5 day: 18hour: 10 minute: 41 second: 13weekday: 32001-01-29 11:01:022001-01-29 11:01:022000-12-30 11:01:022016-05-13 10:41:37.001000

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

Unix时间戳(timestamp)转换工具:
http://tools..net.cn/code/unixtime

在线日期/天数计算器:
http://tools..net.cn/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools..net.cn/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools..net.cn/bianmin/yinli2yangli

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python日期与时间操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

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


  • 上一条:
    Python3安装Pymongo详细步骤
    下一条:
    Python表示矩阵的方法分析
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客