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爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
May 25 Python
python进行文件对比的方法
Dec 24 Python
我用Python抓取了7000 多本电子书案例详解
Mar 25 Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 Python
Python简单基础小程序的实例代码
Apr 28 Python
Python Pandas数据中对时间的操作
Jul 30 Python
numpy 返回函数的上三角矩阵实例
Nov 25 Python
python连接打印机实现打印文档、图片、pdf文件等功能
Feb 07 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
Mar 14 Python
解决Python在导入文件时的FileNotFoundError问题
Apr 10 Python
Python requests库参数提交的注意事项总结
Mar 29 Python
Pytest中skip skipif跳过用例详解
Jun 30 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
php5 mysql分页实例代码
2008/04/10 PHP
php 不同编码下的字符串长度区分
2009/09/26 PHP
php自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
PHP基础知识回顾
2012/08/16 PHP
table标签的结构与合并单元格的实现方法
2013/07/24 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
redirect_uri参数错误的解决方法(必看)
2017/02/16 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
JS中表单的使用小结
2014/01/11 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
js中split和replace的用法实例
2015/02/28 Javascript
AngularJS全局scope与Isolate scope通信用法示例
2016/11/22 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
Layui实现带查询条件的分页
2019/07/27 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
Python面向对象类继承和组合实例分析
2018/05/28 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
销售业务实习自我鉴定
2013/09/23 职场文书
加拿大留学自荐信
2014/01/28 职场文书
安全目标管理责任书
2014/07/25 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
经典导游欢迎词
2015/01/26 职场文书
写自招自荐信的绝招!
2019/04/19 职场文书
深入理解python多线程编程
2021/04/18 Python
Java 数据结构七大排序使用分析
2022/04/02 Java/Android