Python 时间戳和日期相互转换
转载地址:http://liyangliang.me/posts/2012/10/python-timestamp-to-timestr/
在写Python的时候经常会遇到时间格式的问题,每次都是上 google 搜索然后找别人的博客或网站来参考。现在自己简单总结一下,方便以后查询。
首先就是最近用到的时间戳(timestamp)和时间字符串之间的转换。所谓时间戳,就是从 1970 年 1 月 1 日 00:00:00 到现在的秒数。那关于为什么是1970年这个特殊的日期,这篇文章有个简单明了的介绍:
在Python里,时间戳可以通过 time 模块里的 time() 方法获得,比如:
In [1]: import time
In [2]: time.time()
Out[2]: 1350816710.8050799
这个值对人来说是不友好的,所以有时候需要转换为一定的格式方便人理解。我们可以调用 time.strftime() 函数来达到这个目的。根据 strftime() 函数的文档,我猜这个名称应该是 “string format time” 的简写,也就是字符串格式的时间。这个方法需要两个参数,其中一个是时间格式,一个是一个9元组,第二个参数可选,默认为 time.localtime() 的返回值。而那个9元组其实是 struct_time,由9个元素组成的元组(tuple),也是一种时间表示的格式。比如
In [5]: import time
In [6]: time.localtime()
Out[6]: time.struct_time(tm_year=2012, tm_mon=10, tm_mday=21, tm_hour=19, tm_min=4, tm_sec=25, tm_wday=6, tm_yday=295, tm_isdst=0)
具体的含义,前6个应该很明显,那么后三个分别是:weekday(0-6),在一年中的第几天(1-366),是否是夏令时(默认-1)。现在再来看看如何把时间戳转换为指定格式的字符串形式。很简单,直接上代码
In [8]: import time
In [9]: st = time.localtime(1350816710.8050799)
In [10]: time.strftime('%Y-%m-%d %H:%M:%S', st)
Out[10]: '2012-10-21 18:51:50'
先用 localtime() 把时间戳转换为 struct_time, 然后传给 strftime 转换为指定格式的字符串。那么反过来呢? 同样需要先转换为 struct_time,这个工作由 time.strptime() 函数完成。strptime 中的 p 应该是 parse 的意思,原型是:
strptime(string, format) -> struct_time
把字符串形式的时间按照指定格式解析,转换为 struct_time。然后传给time.mktime() 完成最后的工作,整个过程是:
In [12]: import time
In [13]: st = time.strptime('2012-10-21 18:51:50', '%Y-%m-%d %H:%M:%S')
In [14]: time.mktime(st)
Out[14]: 1350816710.0
最后,有两篇参考文章:
- Python中时间戳与时间字符串互相转化: http://www.coder4.com/archives/2239
- Python中time模块详解(很好):http://qinxuye.me/article/details-about-time-module-in-python/
Python 时间戳和日期相互转换的更多相关文章
- Python时间戳和日期的相互转换
Python时间戳和日期的相互转换 (2014-03-17 11:24:35) 转载▼ 分类: Python 当前时间戳:time.time() 当前日期:time.ctime() 1.Pytho ...
- PHP时间戳和日期相互转换
在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明. 1.php中时间转换函数 strtotime ...
- PHP时间戳和日期相互转换(转载)
在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明. 1.php中时间转换函数 strtotime ...
- PHP时间戳和日期相互转换(文字有问题)
在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明. 1.php中时间转换函数 strtotime ...
- 转:Python时间戳和日期的相互转换
当前时间戳:time.time() 当前日期:time.ctime() 1.Python下日期到时间戳的转换 import datetime import time dateC=datetime.da ...
- Python时间戳和日期
import time localtime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())) prin ...
- python时间戳、日期、时间转换
1.str转时间戳 # 字符类型的时间 tss1 = '2013-10-10 23:40:00' # 转为时间数组 timeArray = time.strptime(tss1, "%Y-% ...
- MYSQL时间戳和日期相互转换 笔记整理
相关函数: date_format(date, format) 函数,MySQL日期格式化函数date_format() unix_timestamp() 函数 str_to_date(str, fo ...
- Python字符串和日期相互转换的方法
import time,datetime # 日期转换成字符串 print time.strftime("%Y-%m-%d %X", time.localtime()) #字符串转 ...
随机推荐
- 塞尔达:旷野之息个人对比上古卷轴V:天际
上古卷轴5是我之前玩过最优秀的作品.玩塞尔达的时候就有跟上古卷轴5比对,真的都是神作.两个游戏的自由度都是真的高. 主线剧情上,老滚5印象不深了,当时就知道战斗,只记住了开头砍头现场,还有奥杜因这个龙 ...
- Nginx的一些优化(突破十万并发)
Nginx的一些优化(突破十万并发) nginx指令中的优化(配置文件) worker_processes 8; nginx进程数,建议按照cpu数目来指定,一般为它的倍数. worker_cpu_a ...
- C语言学习总结
输出加法程序 #include<stdio.h> int main() { printf("#include<stdio.h>\n\n"); printf( ...
- linux安装AWStats业务数据分析工具
Awstats是一个非常简洁而且强大的统计工具.它可以统计您站点的如下信息:一:访问量,访问次数,页面浏览量,点击数,数据流量等精确到每月.每日.每小时的数据二:访问者国家.访问者IP.操作系统.浏览 ...
- codeforces786E ALT【倍增+最小割】
方案二选一,显然是最小割,朴素的想法就是一排人点一排边点,分别向st连流量1的边,然后人点向路径上的边点连流量inf的边跑最大流 但是路径可能很长,这样边数就爆了,所以考虑倍增,然后倍增后大区间向小区 ...
- MySQL 5.7 INFORMATION_SCHEMA 详解
refman mysql 5.7 INFORMATION_SCHEMA提供了对数据库元数据的访问,MySQL服务器信息,如数据库或表的名称,列的数据类型,访问权限等. 有时也把这些信息叫做数据字典或系 ...
- [Xcode 实际操作]六、媒体与动画-(7)遍历系统提供的所有滤镜
目录:[Swift]Xcode实际操作 本文将演示系统到底提供了多少滤镜供开发者使用,并了解每个滤镜都有哪些参数需要配置. 在项目导航区,打开视图控制器的代码文件[ViewController.swi ...
- jmeter后置处理器之正则表达式
一.基本用法——提取某个值 场景:提取某个值,保存成变量,供后面的接口使用 步骤: 1.运行脚本,从响应结果中查找要提取的值,找到左右边界. 例如要获取“patientInfoId”作为下一个请求的参 ...
- 3分钟简单了解 prototype 和 __proto__
关于prototype 1. 所有的函数都会有一个prototype属性,属性值是一个普通对象: 2. 当我们去new一个构造函数的实例时,构造函数的原型对象(prototype)会被赋值给它实例的[ ...
- C#代码规范整理
命名规范制定意义 1. 方便代码的交流和维护,便于日后自己的再次阅读. 2. 不影响编码的效率,不与大众习惯冲突. 3. 使代码更美观.阅读更方便. 4. 使代码的逻辑更清晰.更易于理解. 名词解释 ...