全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

本文实例讲述了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的方法详解  # 给大家  # 操作技巧  # 天等  # 年中  # 星期天  # 转换工具  # 是一个  # 进阶  # 昨天  # 几个  # 相关内容  # 是从  # 感兴趣  # 数据结构  # 被称为  # 它在  # 随处可见  # 转换成  # 它也  # 更多关于 


相关文章: 专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何注册花生壳免费域名并搭建个人网站?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  在线教育网站制作平台,山西立德教育官网?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  建站VPS配置与SEO优化指南:关键词排名提升策略  网站制作软件有哪些,制图软件有哪些?  c# await 一个已经完成的Task会发生什么  如何选择靠谱的建站公司加盟品牌?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  建站主机解析:虚拟主机配置与服务器选择指南  制作证书网站有哪些,全国城建培训中心证书查询官网?  再谈Python中的字符串与字符编码(推荐)  建站之星云端配置指南:模板选择与SEO优化一键生成  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  ,柠檬视频怎样兑换vip?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  如何高效完成自助建站业务培训?  如何在橙子建站中快速调整背景颜色?  代购小票制作网站有哪些,购物小票的简要说明?  c++ stringstream用法详解_c++字符串与数字转换利器  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  宝塔Windows建站如何避免显示默认IIS页面?  如何通过山东自助建站平台快速注册域名?  定制建站策划方案_专业建站与网站建设方案一站式指南  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  建站主机服务器选购指南:轻量应用与VPS配置解析  红河网站制作公司,红河事业单位身份证如何上传?  如何获取上海专业网站定制建站电话?  建站主机核心功能解析:服务器选择与网站搭建流程指南  名字制作网站免费,所有小说网站的名字?  如何高效利用200m空间完成建站?  如何快速搭建高效WAP手机网站吸引移动用户?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  如何在景安云服务器上绑定域名并配置虚拟主机?  建站之星代理商如何保障技术支持与售后服务?  如何通过VPS建站实现广告与增值服务盈利?  建站之星后台管理系统如何操作?  Android自定义listview布局实现上拉加载下拉刷新功能  济南专业网站制作公司,济南信息工程学校怎么样?  Thinkphp 中 distinct 的用法解析  XML的“混合内容”是什么 怎么用DTD或XSD定义  如何快速搭建自助建站会员专属系统?  Python路径拼接规范_跨平台处理说明【指导】  临沂网站制作公司有哪些,临沂第四中学官网?  SQL查询语句优化的实用方法总结 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。