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类方法与对象方法
Mar 15 Python
Python可变参数用法实例分析
Apr 02 Python
python实现用户管理系统
Jan 10 Python
pandas DataFrame数据转为list的方法
Apr 11 Python
python中copy()与deepcopy()的区别小结
Aug 03 Python
对python多线程与global变量详解
Nov 09 Python
Django项目中使用JWT的实现代码
Nov 04 Python
解决pycharm不能自动补全第三方库的函数和属性问题
Mar 12 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 Python
七个Python必备的GUI库
Apr 27 Python
Python标准库之typing的用法(类型标注)
Jun 02 Python
图文详解matlab原始处理图像几何变换
Jul 09 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安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
Linux中为php配置伪静态
2014/12/17 PHP
php实现以只读方式打开文件的方法
2015/03/16 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
Js+XML 操作
2006/09/20 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
vue集成openlayers加载geojson并实现点击弹窗教程
2020/09/24 Javascript
[03:16]DOTA2完美大师赛小组赛精彩集锦
2017/11/22 DOTA
Python简单生成随机姓名的方法示例
2017/12/27 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
Django组件content-type使用方法详解
2019/07/19 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
python  logging日志打印过程解析
2019/10/22 Python
详解Django admin高级用法
2019/11/06 Python
使用Python实现 学生学籍管理系统
2019/11/26 Python
Python函数调用追踪实现代码
2020/11/27 Python
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
小班重阳节活动方案
2014/02/08 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
《凡卡》教学反思
2014/04/09 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
校运会口号
2014/06/18 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
经销商会议开幕词
2016/03/04 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
Java 使用类型为Object的变量指向任意类型的对象
2022/04/13 Java/Android