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

kkkkk 2018年12月17日 22:48 Python基础

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)


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


文章评论(0)
  • avatar kkkkkk 2018年12月21日 11:31
    你这可以去写文章了
    kkkkk
    2018年12月21日 11:17
    脉络分明,有条不紊。徒多费词,毫无精义。文从字顺,言简意赅。内容杂乱,词句欠通。
    回复
  • avatar kkkkkk 2018年12月21日 11:31
    牛逼
    kkkkklxinde
    2018年12月21日 11:17
    不足的是,文章层次有所杂糅,如能进一步厘清,则锦上添花了。
    回复
  • avatar kkkkklxinde 2018年12月21日 11:17
    不足的是,文章层次有所杂糅,如能进一步厘清,则锦上添花了。
    回复
  • avatar kkkkk 2018年12月21日 11:17
    脉络分明,有条不紊。徒多费词,毫无精义。文从字顺,言简意赅。内容杂乱,词句欠通。
    回复