Python中操作时间之strptime()方法的使用

strptime()方法分析表示根据格式的时间字符串。返回值是一个struct_time所返回gmtime()或localtime()。

格式参数使用相同的指令使用strftime();它默认为“%a %b %d %H:%M:%S %Y”相匹配的ctime()所返回的格式。

如果字符串不能按格式进行解析,或者如果它具有解析后多余的数据,ValueError被挂起。

语法

strptime()方法的语法

time.strptime(string[, format])

参数

    string — 这是其中将根据给定的格式解析字符串格式的时间。

    format — 这是将用于解析该给定的字符串的指令。

指令

下面的指令可以嵌入格式字符串:

%a – 简写的星期几

    %A – 完整的星期几

    %b – 缩写的月份名称

    %B – 完整的月份名称

    %c – 首选日期和时间表示

    %C – 世纪值(年份除以100,范围从00到99)

    %d – 该月的第几天(01?31)

    %D – 类似 %m/%d/%y

    %e – 该月的一天(1?31)

    %g – 类似于%G,但是没有世纪

    %G – 对应于ISO周数4位数的年份(参见%V)

    %h – 类似于 %b

    %H – 小时,使用24小时制(00?23)

    %I – 小时,使用12小时制(01?12)

    %j – 一年中的哪一天(001?366)

    %m – 月份(01?12)

    %M – 分钟

    %n – 换行符

    %p – 根据给定的时间值am或pm

    %r – 时间在上午和下午的符号:am/pm

    %R – 时间以24小时制

    %S – 秒

    %t – 制表符

    %T – 当前时间,等于 %H:%M:%S

    %u – 工作日为数字(1到7),星期一= 1。警告:在Sun Solaris上周日=1

    %U – 当年的周数,第一个星期日作为第一周的第一天

    %V – 本年度ISO 8601的周数(01到53),其中,第1周是在本年度至少4天的第一个星期,星期一作为一周的第一天

    %W – 当年的周数,与第一个星期一作为第一周的第一天

    %w – 星期为一个小数,星期日=0

    %x – 没有时间的日期表示

    %X – 无日期首选的时间表示

    %y – 一年无世纪(范围从00到99)

    %Y – 今年,包括世纪

    %Z or %z – 时区或名称或缩写

    %% -文字%字符

返回值

这个返回struct_time所返回gmtime()或localtime()的值。

例子

下面的例子显示 strptime()方法的使用。

#!/usr/bin/python
import time
structTime = time.strptime("1 May 2018", "%d %b %Y")
print (structTime)

结果:

time.struct_time(tm_year=2018, tm_mon=5, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=121, tm_isdst=-1)

注意: 第一个参数和第二个参数,里面包含的数据项必须对应, 前面是三个数据, 那么后面的格式化参数也需要是三个格式符。

点赞