本文共 819 字,大约阅读时间需要 2 分钟。
今天用python写抓网页的小程序的时候遇到个问题,页面上的时间字符串例如'(2011-07-01 17:38:49)'要转换成
unix时间戳,以前写php的时候有strtotime函数,在python中一下子没找到,在网上看到的例子是:
1 | import datetime,time |
2 | s = datetime.datetime( 2009 , 1 , 1 ) |
3 | time.mktime(s.timetuple()) |
于是自己写正则,把数字取出来再用上面的方法,其中前导零用int()可以去掉
写完了在网上无意找到了正解:
1 | import time,datetime |
2 | s = '(2011-07-01 17:38:49)' |
3 | s = s.lstrip( '(' ).rstrip( ')' ) |
4 | d = datetime.datetime.strptime(s, "%Y-%m-%d %H:%M:%S" ) #格式符参考下表 |
5 | print 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 当前时区的名称 %% %号本身转载地址:http://wemdi.baihongyu.com/