在爬取Amazon站点的时候,不同的站点时间格式不一样,所以需要将不同的时间格式转化为统一的格式。
要将本地时间转化为标准时间,需要设置为当地的local。这里我们需要使用一个模块local,这个模块我测试只能在unix类的机器上生效。
举个栗子
我们用德语的时间2. Januar 2017来转化。德语对应的local为de_DE.UTF-8,这个网上查查就知道了。
首先,先查看一下机器是否支持要修改的local。如果有就直接跳过,执行下面命令
locale -a
结果如下:
发现是没有的,那就生成一下。编辑locale.gen文件,去掉de_DE.UTF-8前面的#号。
#这个要root权限才能修改
vi /etc/locale.gen
修改内容:
然后保存,执行下面命令。
sudo locale-gen
执行结果:
这样就安装好了。
测试
下面一个简单的demo:
import locale, datetime
def func():
locale.setlocale(locale.LC_ALL, 'de_DE.utf8')
rule = '%d. %B %Y'
format_time = datetime.datetime.strptime("2. Januar 2017", rule)
print "formattime -->{}".format(format_time)
locale.resetlocale()
if __name__ == '__main__':
func()
执行结果:
到这里也就结束了。
时间日期格式化符号
%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 当前时区的名称
%% %号本身