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提取数据,并生成word文档实例解析
Jan 22 Python
python+opencv识别图片中的圆形
Mar 25 Python
Python中XlsxWriter模块简介与用法分析
Apr 24 Python
在Python中分别打印列表中的每一个元素方法
Nov 07 Python
Python编写合并字典并实现敏感目录的小脚本
Feb 26 Python
python验证身份证信息实例代码
May 06 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
Oct 24 Python
Python爬虫实现百度翻译功能过程详解
May 29 Python
python + selenium 刷B站播放量的实例代码
Jun 12 Python
Pandas中DataFrame交换列顺序的方法实现
Dec 14 Python
Python中全局变量和局部变量的理解与区别
Feb 07 Python
Python+pyaudio实现音频控制示例详解
Jul 23 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_xmlhttp 乱码问题解决方法
2009/08/07 PHP
在PHP中操作Excel实例代码
2010/04/29 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
2012/07/22 PHP
thinkphp分页集成实例
2017/07/24 PHP
php实现数字补零的方法总结
2018/09/12 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
很可爱的输入框
2008/08/03 Javascript
javascript 验证日期的函数
2010/03/18 Javascript
jquery实现居中弹出层代码
2010/08/25 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
jQuery实现用户信息表格的添加和删除功能
2017/09/12 jQuery
vue百度地图 + 定位的详解
2019/05/13 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
讲解Python中的标识运算符
2015/05/14 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
Tensorflow加载Vgg预训练模型操作
2020/05/26 Python
利用python 下载bilibili视频
2020/11/13 Python
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
童装店创业计划书
2014/01/09 职场文书
演讲主持词
2014/03/18 职场文书
公司授权委托书范本
2014/09/18 职场文书
车间班组长竞聘书
2015/09/15 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书