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实现爬取逐浪小说的方法
Jul 07 Python
python 回调函数和回调方法的实现分析
Mar 23 Python
Python装饰器用法实例总结
May 26 Python
python 反向输出字符串的方法
Jul 16 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
Jul 01 Python
python自动化测试之异常及日志操作实例分析
Nov 09 Python
python 非线性规划方式(scipy.optimize.minimize)
Feb 11 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
Jun 17 Python
简单了解Django项目应用创建过程
Jul 06 Python
Python reversed反转序列并生成可迭代对象
Oct 22 Python
Python爬虫回测股票的实例讲解
Jan 22 Python
python 使用OpenCV进行简单的人像分割与合成
Feb 02 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基础知识回顾
2012/08/16 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
详解vue express启动数据服务
2017/07/05 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
JavaScript中的Proxy对象
2020/11/27 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
Python的Urllib库的基本使用教程
2015/04/30 Python
python引用DLL文件的方法
2015/05/11 Python
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
python图像处理入门(一)
2019/04/04 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
TensorFlow低版本代码自动升级为1.0版本
2021/02/20 Python
.NET面试题:什么是反射
2016/09/30 面试题
后勤副校长自我鉴定
2013/10/13 职场文书
教育孩子心得体会
2014/01/01 职场文书
业务部主管岗位职责
2014/01/29 职场文书
学校大课间活动方案
2014/01/30 职场文书
党务公开方案
2014/05/06 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
拔河比赛新闻稿
2015/07/17 职场文书
React forwardRef的使用方法及注意点
2021/06/13 Javascript
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP