Python中时间戳与时间字符串互相转化

来源:互联网 发布:sql commit 编辑:程序博客网 时间:2024/05/18 00:56

http://www.coder4.com/archives/2239


#设a为字符串import timea = "2011-09-28 10:00:00"#中间过程,一般都需要将字符串转化为时间数组time.strptime(a,'%Y-%m-%d %H:%M:%S')>>time.struct_time(tm_year=2011, tm_mon=9, tm_mday=27, tm_hour=10, tm_min=50, tm_sec=0, tm_wday=1, tm_yday=270, tm_isdst=-1)#将"2011-09-28 10:00:00"转化为时间戳time.mktime(time.strptime(a,'%Y-%m-%d %H:%M:%S'))>>1317091800.0#将时间戳转化为localtimex = time.localtime(1317091800.0)time.strftime('%Y-%m-%d %H:%M:%S',x)>>2011-09-27 10:50:00

python日期时间字符串转换成unix时间戳

今天用python写抓网页的小程序的时候遇到个问题,页面上的时间字符串例如'(2011-07-01 17:38:49)'要转换成

unix时间戳,以前写php的时候有strtotime函数,在python中一下子没找到,在网上看到的例子是:

1import datetime,time
2s = datetime.datetime(2009,1,1)
3time.mktime(s.timetuple())

于是自己写正则,把数字取出来再用上面的方法,其中前导零用int()可以去掉

写完了在网上无意找到了正解:

1import time,datetime
2s = '(2011-07-01 17:38:49)'
3s = s.lstrip('(').rstrip(')')
4d = datetime.datetime.strptime(s,"%Y-%m-%d %H:%M:%S")#格式符参考下表
5print time.mktime(d.timetuple())

python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)

%a 本地简化星期名称

%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身