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中使用SimpleParse模块进行解析的教程
Apr 11 Python
Python如何获取系统iops示例代码
Sep 06 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
Oct 16 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
基于Python对数据shape的常见操作详解
Dec 25 Python
使用python 打开文件并做匹配处理的实例
Jan 02 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
Jul 03 Python
使用Fabric自动化部署Django项目的实现
Sep 27 Python
Python内置方法实现字符串的秘钥加解密(推荐)
Dec 09 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
May 20 Python
Python Unittest原理及基本使用方法
Nov 06 Python
Python的轻量级ORM框架peewee使用教程
Feb 05 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安装攻略:常见问题解答(二)
2006/10/09 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
2014/10/15 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
微信小程序开发图片拖拽实例详解
2017/05/05 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
2018/02/05 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
2019/04/26 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
详解Python 切片语法
2019/06/10 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
演讲稿开场白
2014/01/13 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
党员大会主持词
2014/04/02 职场文书
工地安全质量标语
2014/06/07 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
干部考察材料范文
2014/12/24 职场文书
入党转正介绍人意见
2015/06/03 职场文书
初一军训感言
2015/08/01 职场文书
详解Python牛顿插值法
2021/05/11 Python
SQL Server中搜索特定的对象
2022/05/25 SQL Server