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中处理日期和时间的基本知识点整理汇总
May 22 Python
python实现可以断点续传和并发的ftp程序
Sep 13 Python
Python3实现并发检验代理池地址的方法
Sep 18 Python
用python记录运行pid,并在需要时kill掉它们的实例
Jan 16 Python
python 获取url中的参数列表实例
Dec 18 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
May 10 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
Django中Aggregation聚合的基本使用方法
Jul 09 Python
Python不支持 i ++ 语法的原因解析
Jul 22 Python
python使用selenium爬虫知乎的方法示例
Oct 28 Python
分享一个python的aes加密代码
Dec 22 Python
MATLAB 如何求取离散点的曲率最大值
Apr 16 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 FPDF类库应用实现代码
2009/03/20 PHP
PDO预处理语句PDOStatement对象使用总结
2014/11/20 PHP
PHP中使用Imagick实现各种图片效果实例
2015/01/21 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
JObj预览一个JS的框架
2008/03/13 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
weex slider实现滑动底部导航功能
2017/08/28 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
微信小程序云开发之使用云数据库
2019/05/17 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
Vue的Options用法说明
2020/08/14 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
快速入手Python字符编码
2016/08/03 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
2018/04/10 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
2014年中班元旦活动方案
2014/02/14 职场文书
违反工作规定检讨书范文
2014/12/14 职场文书
2015元旦晚会主持词(开场白+结束语)
2014/12/14 职场文书
先进党组织事迹材料
2014/12/26 职场文书
法人代表资格证明书
2015/06/18 职场文书
2015入党个人自传范文
2015/06/26 职场文书
运动会新闻报道稿
2015/07/22 职场文书
美容院员工规章制度
2015/08/05 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
如何使用php生成zip压缩包
2021/04/21 PHP