Python 时间本地化

在爬取Amazon站点的时候,不同的站点时间格式不一样,所以需要将不同的时间格式转化为统一的格式。

要将本地时间转化为标准时间,需要设置为当地的local。这里我们需要使用一个模块local,这个模块我测试只能在unix类的机器上生效。

举个栗子

我们用德语的时间2. Januar 2017来转化。德语对应的local为de_DE.UTF-8,这个网上查查就知道了。

首先,先查看一下机器是否支持要修改的local。如果有就直接跳过,执行下面命令

locale -a

结果如下:


Python 时间本地化_第1张图片
locale list.png

发现是没有的,那就生成一下。编辑locale.gen文件,去掉de_DE.UTF-8前面的#号。

#这个要root权限才能修改
vi /etc/locale.gen 

修改内容:


Python 时间本地化_第2张图片
locale.png

然后保存,执行下面命令。

sudo locale-gen

执行结果:

Python 时间本地化_第3张图片
结果.png

这样就安装好了。

测试

下面一个简单的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()

执行结果:

Python 时间本地化_第4张图片
结果.png

到这里也就结束了。

时间日期格式化符号

%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 当前时区的名称
%% %号本身

你可能感兴趣的:(Python 时间本地化)