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)合并的方法
Sep 23 Python
Python中为feedparser设置超时时间避免堵塞
Sep 28 Python
Python表示矩阵的方法分析
May 26 Python
pyhton列表转换为数组的实例
Apr 04 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
python生成每日报表数据(Excel)并邮件发送的实例
Feb 03 Python
PyQt弹出式对话框的常用方法及标准按钮类型
Feb 27 Python
pyqt5 获取显示器的分辨率的方法
Jun 18 Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 Python
django admin后管定制-显示字段的实例
Mar 11 Python
Python如何实现邮件功能
May 27 Python
python中count函数知识点浅析
Dec 17 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 工厂模式使用方法
2010/05/18 PHP
PHP跳转页面的几种实现方法详解
2013/06/08 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
php foreach正序倒序输出示例代码
2014/07/01 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
php编程每天必学之表单验证
2016/03/01 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
2014/06/09 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
2015/12/23 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
vuejs router history 配置到iis的方法
2018/09/20 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
js实现转动骰子模型
2019/10/24 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
Python yield 使用方法浅析
2017/05/20 Python
Python解压 rar、zip、tar文件的方法
2019/11/19 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
css3 box-shadow阴影(外阴影与外发光)图示讲解
2017/08/11 HTML / CSS
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
工作疏忽检讨书
2014/01/25 职场文书
小区消防演习方案
2014/02/21 职场文书
涨价通知怎么写
2015/04/23 职场文书
让生命充满爱观后感
2015/06/08 职场文书
导游词之太湖
2019/10/08 职场文书
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android
Java存储没有重复元素的数组
2022/04/29 Java/Android