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

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

time_t t = time(NULL);

关于用C++实现string和time_t的转化,本博也专门写了一篇文章:

时间time_t和string(char*)格式互转

但是在python中怎么实现操作unix时间戳呢?

本博也特意写了代码如下:

# -*- 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的代码分别为:

import thread

import os

print os.getpid()

print thread.get_ident()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值