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实现冒泡,插入,选择排序简单实例
Aug 18 Python
Python模仿POST提交HTTP数据及使用Cookie值的方法
Nov 10 Python
关于Python正则表达式 findall函数问题详解
Mar 22 Python
简单谈谈Python的pycurl模块
Apr 07 Python
Django实现一对多表模型的跨表查询方法
Dec 18 Python
BP神经网络原理及Python实现代码
Dec 18 Python
Django 大文件下载实现过程解析
Aug 01 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
Apr 02 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
Jul 07 Python
python中编写函数并调用的知识点总结
Jan 13 Python
sklearn中的交叉验证的实现(Cross-Validation)
Feb 22 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调用Java对象的方法
2006/10/09 PHP
PHP编码规范-php coding standard
2007/03/16 PHP
php中防止伪造跨站请求的小招式
2011/09/02 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
模仿百度三维地图的js数据分享
2011/05/12 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
Vue+axios实现统一接口管理的方法
2018/07/23 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
在Django的上下文中设置变量的方法
2015/07/20 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
怎样声明子类
2013/07/02 面试题
C#笔试题
2015/07/14 面试题
班级聚会策划书
2014/01/16 职场文书
财产保全担保书范文
2014/04/01 职场文书
淘宝客服专员岗位职责
2014/04/11 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
爱晚亭导游词
2015/02/09 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS