IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

python中对时间处理的几个函数

Vimer 2010-10-27 08:51:53 累计浏览 3,065 次
本机暂存

在C/C++中,我们存储时间时,一般都会使用unix时间戳,使用也非常简单:

1
time_t t = time(NULL);

关于用C++实现string和time_t的转化,本博也专门写了一篇文章:
时间time_t和string(char*)格式互转
但是在python中怎么实现操作unix时间戳呢?
本博也特意写了代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# -*- coding: utf-8 -*-
 
import time
import datetime
 
def StringToTime(strtime):
    t_tuple = time.strptime(strtime,"%Y-%m-%d %H:%M:%S")
    return time.mktime(t_tuple)
 
def StringToTime2(strtime):
    dt = datetime.datetime.strptime(strtime,"%Y-%m-%d %H:%M:%S")
    t_tuple = dt.timetuple()
    return time.mktime(t_tuple)
 
def TimeToString(timestamp):
    t_tuple = time.localtime(timestamp)
    dt = datetime.datetime(*t_tuple[:6])
    return dt.strftime("%Y-%m-%d %H:%M:%S")
 
def GetYesterday():
    d = datetime.datetime(*time.localtime()[:6])
    t = datetime.timedelta(days=1)
    return  (d-t)
 
if __name__ == "__main__":
    timestamp = StringToTime("2010-10-20 1:2:2")
    print timestamp
 
    timestamp = StringToTime2("2010-10-20 1:2:2")
    print timestamp
 
    strtime = TimeToString(timestamp)
    print strtime
 
    print '-------------------------------------------'
 
    print GetYesterday()

运行结果如下:

1287507722.0
1287507722.0
2010-10-20 01:02:02
-------------------------------------------
2010-10-26 18:09:28

可以使用C++版的互相读取一下试试,经测试是可用的。
另外,上面的代码中我还定义了一个GetYesterday的函数,演示的实际上是时间差的操作,timedelta的细节可以参看这里:
http://docs.python.org/library/datetime.html#datetime.timedelta

参考文档:
http://www.51testing.com/?uid-175444-action-viewspace-itemid-213738

另:
偶尔发现想起的一个问题,在python中获取进程id和线程id的代码分别为:

1
2
3
4
5
import thread
import os
 
print os.getpid()
print thread.get_ident()

同分类推荐文章

  1. 科技爱好者周刊(第 401 期):如何赚到10亿美元 (2026-06-26 08:05:38)
  2. 如何做决策 - 从 Go 的一个 issue 说起 (2026-06-26 08:00:00)
  3. Seven Player:Windows上播放115网盘视频的增强工具 (2026-06-09 00:06:47)

查看更多 开发者 文章 →

建议继续学习

  1. 用Hyer来进行网站的抓取 (累计阅读 158,250)
  2. 配置Nginx+uwsgi更方便地部署python应用 (累计阅读 107,163)
  3. 程序员技术练级攻略 (累计阅读 35,468)
  4. python实现自动登录discuz论坛 (累计阅读 32,833)
  5. python编程细节──遍历dict的两种方法比较 (累计阅读 20,370)
  6. 每个程序员都应该学习使用Python或Ruby (累计阅读 17,917)
  7. Chrome和goagent的配置方法,你懂的 (累计阅读 16,842)
  8. 30分钟3300%性能提升――python+memcached网页优化小记 (累计阅读 13,740)
  9. 使用python爬虫抓站的一些技巧总结:进阶篇 (累计阅读 13,299)
  10. 我的PHP,Python和Ruby之路 (累计阅读 13,146)