Python中操作時間之strptime()方法的使用

pythontab發表於2018-04-17

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)


注意: 第一個引數和第二個引數,裡面包含的資料項必須對應, 前面是三個資料, 那麼後面的格式化引數也需要是三個格式符。


相關文章