Python中处理时间的几种方法小结


Posted in Python onApril 09, 2015

从一个字符串开始

在CODE上查看代码片派生到我的代码片

>>>time_str='2008-08-08 08:08:08'

 1.1.转换为struct_time形式的时间  

在CODE上查看代码片派生到我的代码片

>>struct = ime.strptime(time_str,'%Y-%m-%d %H:%M:%S') 
    time.struct_time(tm_year=2008, tm_mon=8, tm_mday=8, tm_hour=8, tm_min=8, tm_sec=8, tm_wday=4, tm_yday=221, tm_isdst=-1)

1.2.如果要得到对应的时间戳(秒数):

在CODE上查看代码片派生到我的代码片

>>>sec=time.mktime(struct) 
  >>> sec 
  1218154088.0

 1.3.struct_time形式的时间返回开始的字符串:
在CODE上查看代码片派生到我的代码片

>>time_str=time.strftime("%Y-%m-%d %H:%M:%S",struct) 
  >>> time_str 
  '2008-08-08 08:08:08'

1.4.时间戳(秒数)返回到struct_time形式的时间怎么办?
在CODE上查看代码片派生到我的代码片

<pre name="code" class="python">>> time.gmtime(sec) 
  time.struct_time(tm_year=2008, tm_mon=8, tm_mday=8, tm_hour=0, tm_min=8, tm_sec=8, tm_wday=4, tm_yday=221, tm_isdst=0)

1.5.时间戳(秒数)要返回到字符串应该就知道怎么弄了吧?

当然,有很直接方法,不过转换回去的时间格式却不一样:
在CODE上查看代码片派生到我的代码片

>>> time.ctime(sec) 
  'Fri Aug 08 08:08:08 2008'

1.6.想获取当前的时间:

今天:
在CODE上查看代码片派生到我的代码片

>>> datetime.date.today() 
      datetime.date(2015, 4, 3)

现在:
在CODE上查看代码片派生到我的代码片

>>> datetime.datetime.now() 
      datetime.datetime(2015, 4, 3, 15, 19, 47, 361000)

现在的时间戳:

>>> time.time()

1428045689.396

现在的struct_time形式时间:

>>> time.localtime()

time.struct_time(tm_year=2015, tm_mon=4, tm_mday=3, tm_hour=15, tm_min=21, tm_sec=52, tm_wday=4, tm_yday=93, tm_isdst=0)

现在的UTC日期形式:

>>> time.ctime()

  'Fri Apr 03 15:23:45 2015'

1.7)datetime.date/datetime/time要转换成struct_time怎么办?

>>> datetime.datetime.now().timetuple()

   time.struct_time(tm_year=2015, tm_mon=4, tm_mday=3, tm_hour=15, tm_min=31, tm_sec=19, tm_wday=4, tm_yday=93, tm_isdst=-1)

这样,结合1.2,要转换成秒是不是很简单了?

1.8.datetime.date/datetime形式的的日期怎么转换成‘2010-01-01 00:00:00'形式的字符串?

结合1.3和1.7是不是很简单?
1.9.字符串如何转换成datetime.date/datetime/time呢?
在CODE上查看代码片派生到我的代码片

>>> datetime.datetime.strptime('2014-01-01',"%Y-%m-%d") 
     datetime.datetime(2014, 1, 1, 0, 0)

2.0.然后要将struct_time转换为datetime.date/datetime/time也就成功了

在什么情况下需要将struct_time转换为datetime.date/datetime/time.看了2.1就明白了
2.1时间运算——时间的加减

 昨天的时间怎么算?
在CODE上查看代码片派生到我的代码片

>> today=datetime.date.today()

在CODE上查看代码片派生到我的代码片

>>> delta=datetime.timedelta(days=1) 
  >>> yesterday=today-delta 
  >>> yesterday 
   datetime.date(2015, 4, 2)

 明天呢?七天(前)后呢?一分钟前呢(),一秒呢?

看看这个构造函数:

class datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]]),能帮助你回答上面的问题吧?

注意阿,struct_time以及字符串都不可以和datetime.timedelta进行运算。所以知道从其他形式转换成datetime.date/datetime/time.是很有用的吧。

当然,struct_time也可以这样进行时间运算。比如要计算昨天:

>>from time import time,localtime

 >>day = 24*60*60

 >>yesterday = localtime(time()-day)

2.2)时间比较:

这个就只说明一句了:datetime.(date/datetime/time.)和struct_time形式的时间都可以进行比较。(彼此之间不能比较)

Python 相关文章推荐
python进阶教程之词典、字典、dict
Aug 29 Python
简析Python的闭包和装饰器
Feb 26 Python
深入理解Python装饰器
Jul 27 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
Mar 11 Python
Python三种遍历文件目录的方法实例代码
Jan 19 Python
Python基于property实现类的特性操作示例
Jun 15 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
Python使用itchat 功能分析微信好友性别和位置
Aug 05 Python
Python模块/包/库安装的六种方法及区别
Feb 24 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 Python
Python 如何调试程序崩溃错误
Aug 03 Python
Python CSV模块使用实例
Apr 09 #Python
Python常用随机数与随机字符串方法实例
Apr 09 #Python
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
Apr 09 #Python
举例讲解Python程序与系统shell交互的方式
Apr 09 #Python
使用Python中的cookielib模拟登录网站
Apr 09 #Python
列举Python中吸引人的一些特性
Apr 09 #Python
Python的Bottle框架的一些使用技巧介绍
Apr 08 #Python
You might like
php 中英文语言转换类
2011/09/07 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
2016/06/13 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
JQuery与iframe交互实现代码
2009/12/24 Javascript
学习JavaScript的最佳方法分享
2011/10/21 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
详解angular2封装material2对话框组件
2017/03/03 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
vue插件实现v-model功能
2018/09/10 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
2018/10/10 Javascript
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
python中字符串内置函数的用法总结
2018/09/13 Python
python实现文件的分割与合并
2019/08/29 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
Python操作Jira库常用方法解析
2020/04/10 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
生态学毕业生自荐信
2013/10/27 职场文书
通信生自我鉴定
2014/01/18 职场文书
门卫岗位职责说明书
2014/08/18 职场文书
房屋出租委托书格式
2014/09/23 职场文书
党员三严三实心得体会
2014/10/13 职场文书
给客户的检讨书
2014/12/21 职场文书
党员个人年度总结
2015/02/14 职场文书
求职意向书范本
2015/05/11 职场文书
商标侵权律师函
2015/05/27 职场文书
《纸船和风筝》教学反思
2016/02/18 职场文书
人民币符号
2022/02/17 杂记