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 12 Python
python自动翻译实现方法
May 28 Python
Python实现批量检测HTTP服务的状态
Oct 27 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
python调用Matplotlib绘制分布点并且添加标签
May 31 Python
在Python中实现替换字符串中的子串的示例
Oct 31 Python
python 切换root 执行命令的方法
Jan 19 Python
python使用原始套接字发送二层包(链路层帧)的方法
Jul 22 Python
python实现画图工具
Aug 27 Python
DRF使用simple JWT身份验证的实现
Jan 14 Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 Python
解决numpy数组互换两行及赋值的问题
Apr 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桌面中心(三) 修改数据库
2007/03/11 PHP
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
php中substr()函数参数说明及用法实例
2014/11/15 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
laravel 实现设置时区的简单方法
2019/10/10 PHP
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
JavaScript中为事件指定处理程序的五种方式分析
2018/07/27 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
原生js实现弹幕效果
2020/11/29 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
简单介绍Python中的struct模块
2015/04/28 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
对python借助百度云API对评论进行观点抽取的方法详解
2019/02/21 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
python绘制封闭多边形教程
2020/02/18 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
德国足球商店:OUTFITTER
2019/05/06 全球购物
网络营销计划
2015/01/17 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
文化大革命观后感
2015/06/17 职场文书
nginx七层负载均衡配置详解
2022/07/15 Servers