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

发布时间 - 2026-01-11 01:23:02    点击率:

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

内容目录:

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

一、时间戳

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

例:

import time
time1 = 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 now
2016-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', t1
t1 2016-04-29-00-00-00
>>> print 't2', t2
t2 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 - starttime
0:00:07.390988
>>> print (endtime - starttime).seconds
7
>>> print (endtime - starttime).microseconds
390988

文件的时间戳

>>> 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_mtime
1201865413.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 datetime
from datetime import timedelta
import calendar
DATE_FMT = '%Y-%m-%d'
DATETIME_FMT = '%Y-%m-%d %H:%M:%S'
DATE_US_FMT = '%d/%m/%Y'
'''''
格式化常用的几个参数
Y : 1999
y :99
m : mouth 02 12
M : minute 00-59
S : second
d : day
H : 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)*31
def lastFirday():
   today = datetime.today()
   targetDay = calendar.FRIDAY
   thisDay = today.weekday()
   de = (thisDay - targetDay) % 7
   res = today - timedelta(days=de)
   print res
def 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:26
2013-01-31 12:00:01
year: 2016 month: 5 day: 18
hour: 10 minute: 41 second: 13
weekday: 3
2001-01-29 11:01:02
2001-01-29 11:01:02
2000-12-30 11:01:02
2016-05-13 10:41:37.001000

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

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

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

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

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

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

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


# Python  # 计时  # time  # datetime  # Python日期时间模块datetime详解与Python 日期时间的比较  # 计算实例代码  # python timestamp和datetime之间转换详解  # Python中的time模块与datetime模块用法总结  # python利用datetime模块计算时间差  # Python使用arrow库优雅地处理时间数据详解  # 关于Python 中的时间处理包datetime和arrow的方法详解  # 给大家  # 操作技巧  # 天等  # 年中  # 星期天  # 转换工具  # 是一个  # 进阶  # 昨天  # 几个  # 相关内容  # 是从  # 感兴趣  # 数据结构  # 被称为  # 它在  # 随处可见  # 转换成  # 它也  # 更多关于 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JavaScript如何实现类型判断_typeof和instanceof有什么区别  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  如何将凡科建站内容保存为本地文件?  如何在阿里云通过域名搭建网站?  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  使用spring连接及操作mongodb3.0实例  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  ,怎么在广州志愿者网站注册?  如何做网站制作流程,*游戏网站怎么搭建?  JavaScript如何实现继承_有哪些常用方法  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel集合Collection怎么用_Laravel集合常用函数详解  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  网站制作价目表怎么做,珍爱网婚介费用多少?  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  canvas 画布在主流浏览器中的尺寸限制详细介绍  利用python获取某年中每个月的第一天和最后一天  b2c电商网站制作流程,b2c水平综合的电商平台?  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  奇安信“盘古石”团队突破 iOS 26.1 提权  实例解析Array和String方法  佛山网站制作系统,佛山企业变更地址网上办理步骤?  非常酷的网站设计制作软件,酷培ai教育官方网站?  JS去除重复并统计数量的实现方法  Laravel如何生成URL和重定向?(路由助手函数)  Python文本处理实践_日志清洗解析【指导】  EditPlus中的正则表达式 实战(1)  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  PythonWeb开发入门教程_Flask快速构建Web应用  如何快速搭建虚拟主机网站?新手必看指南  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  如何快速搭建安全的FTP站点?  ,在苏州找工作,上哪个网站比较好?  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  高防服务器租用如何选择配置与防御等级?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  如何在腾讯云服务器上快速搭建个人网站?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  历史网站制作软件,华为如何找回被删除的网站?  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  如何选择可靠的免备案建站服务器?