转载地址:http://liyangliang.me/posts/2012/10/python-timestamp-to-timestr/

  在写Python的时候经常会遇到时间格式的问题,每次都是上 google 搜索然后找别人的博客或网站来参考。现在自己简单总结一下,方便以后查询。

  首先就是最近用到的时间戳(timestamp)和时间字符串之间的转换。所谓时间戳,就是从 1970 年 1 月 1 日 00:00:00 到现在的秒数。那关于为什么是1970年这个特殊的日期,这篇文章有个简单明了的介绍:

为什么计算机时间要从1970年1月1日开始算起?

  在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 时间戳和日期相互转换的更多相关文章

  1. Python时间戳和日期的相互转换

    Python时间戳和日期的相互转换 (2014-03-17 11:24:35) 转载▼   分类: Python 当前时间戳:time.time() 当前日期:time.ctime() 1.Pytho ...

  2. PHP时间戳和日期相互转换

    在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明. 1.php中时间转换函数 strtotime ...

  3. PHP时间戳和日期相互转换(转载)

    在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明. 1.php中时间转换函数 strtotime ...

  4. PHP时间戳和日期相互转换(文字有问题)

    在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明. 1.php中时间转换函数 strtotime ...

  5. 转:Python时间戳和日期的相互转换

    当前时间戳:time.time() 当前日期:time.ctime() 1.Python下日期到时间戳的转换 import datetime import time dateC=datetime.da ...

  6. Python时间戳和日期

    import time localtime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())) prin ...

  7. python时间戳、日期、时间转换

    1.str转时间戳 # 字符类型的时间 tss1 = '2013-10-10 23:40:00' # 转为时间数组 timeArray = time.strptime(tss1, "%Y-% ...

  8. MYSQL时间戳和日期相互转换 笔记整理

    相关函数: date_format(date, format) 函数,MySQL日期格式化函数date_format() unix_timestamp() 函数 str_to_date(str, fo ...

  9. Python字符串和日期相互转换的方法

    import time,datetime # 日期转换成字符串 print time.strftime("%Y-%m-%d %X", time.localtime()) #字符串转 ...

随机推荐

  1. Http协议-URI和资源

    所有东西都有一个标准化的名字,以帮助人们寻找城市中的各种资源.书籍有ISBN号,公交车有线路号,银行账户有账户编码,人有身份证,街道有街道名称.人们告诉图书馆管理员书籍的ISBN号,他即可找出该书籍的 ...

  2. Linux rpm 命令参数使用…

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" rpm 执行安装包 二进制包(Binary)以及源代码 ...

  3. UVa 11404 Palindromic Subsequence (LCS)

    题意:给定一个字符串,问删除一些字符,使得它成为一个最长回访串,如果有多个,输出字典序最小的那个. 析: 我们可以把原字符串反转,然后求两个串的LCS,就得到最长回文串,不过要注意一些细节. 代码如下 ...

  4. 访问WEB-INF下JSP资源的几种方式(转)

    访问WEB-INF下JSP资源的几种方式 方法一: 本来WEB-INF中的jsp就是无法通过地址栏访问的,所以安全. 如果说你要访问这个文件夹中的jsp文件需要在项目的web.xml文件中去配置ser ...

  5. hihoweek 137(简单完全背包)

    题目链接:http://hihocoder.com/contest/hiho137/problem/1 题意:中文题诶- 思路:各层的成本计算不会有影响,所以我们只要把没一层的成本计算出来在求和就是答 ...

  6. codevs1245 最小的N个和

    1245 最小的N个和 题目描述 Description 有两个长度为 N 的序列 A 和 B,在 A 和 B 中各任取一个数可以得到 N^2 个和,求这N^2 个和中最小的 N个.

  7. 今天是 Java 诞生日,Java 24 岁了!

    今天是 Java 诞生日,Java 今年 24 岁了,比栈长还年轻..还有得搞,别慌!作为一名Java语言的学习者,对Java的起源和发展有个大概的了解应是必要的. 1991年,Sun公司成立Gree ...

  8. ESQL 查询数据报 参数类型“Edm.Decimal”和“Edm.Double”不兼容

    ESQL 查询数据报 参数类型“Edm.Decimal”和“Edm.Double”不兼容 System.Data.Entity.Core.Objects.ObjectQuery<TEntity& ...

  9. 如何杀死defunct进程

    原文: How to kill defunct process 译者: youngsterxyf defunct进程是指出错损坏的进程,父子进程之间不会再通信.有时,它们会演变成“僵尸进程”,存留在你 ...

  10. [题解](组合数学/gcd)luogu_P3166数三角形

    首先转化为ans=所有的组合方式 - 在同一水平/竖直线上 - 在同一斜线上 主要考虑在同一斜线上的情况 首先想到枚举斜率然后在坐标系内平移,以(0,0)为起点,每条线上的点数应该是gcd(x,y)比 ...