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 Django(图文)
Nov 04 Python
python实现倒计时的示例
Feb 14 Python
Python sys.argv用法实例
May 28 Python
使用DataFrame删除行和列的实例讲解
Apr 08 Python
python3 selenium 切换窗口的几种方法小结
May 21 Python
python调用百度地图WEB服务API获取地点对应坐标值
Jan 16 Python
python读出当前时间精度到秒的代码
Jul 05 Python
Python一键安装全部依赖包的方法
Aug 12 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
opencv-python 读取图像并转换颜色空间实例
Dec 09 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 Python
python中怎么表示空值
Jun 19 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
jQuery timers计时器简单应用说明
2010/10/28 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
获取input标签的所有属性的方法
2016/06/28 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
2017/06/11 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
nuxt.js 缓存实践
2018/06/25 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
Python获取当前函数名称方法实例分享
2018/01/18 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
python numpy之np.random的随机数函数使用介绍
2019/10/06 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
python 使用shutil复制图片的例子
2019/12/13 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
挂职思想汇报
2013/12/31 职场文书
六查六看剖析材料
2014/02/15 职场文书
遗愿清单观后感
2015/06/09 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
python 如何用map()函数创建多线程任务
2021/04/07 Python
Python os和os.path模块详情
2022/04/02 Python
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS