• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • time &amp;amp; datetime 模塊

    標簽: time

    time & datetime 模塊

    在平常的代碼中,我們常常需要與時間打交道。在Python中,與時間處理有關的模塊就包括:time,datetime,calendar(很少用,不講),下面分別來介紹。

    在開始之前,首先要說明幾點:

    一、在Python中,通常有這幾種方式來表示時間:

    1. 時間戳
    2. 格式化的時間字符串
    3. 元組(struct_time)共九個元素。由于Python的time模塊實現主要調用C庫,所以各個平臺可能有所不同。

    二、幾個定義

    UTC(Coordinated Universal Time,世界協調時)亦即格林威治天文時間,世界標準時間。在中國為UTC+8。DST(Daylight Saving Time)即夏令時。

    時間戳(timestamp)的方式:通常來說,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量。我們運行“type(time.time())”,返回的是float類型。

    元組(struct_time)方式:struct_time元組共有9個元素,返回struct_time的函數主要有gmtime(),localtime(),strptime()。下面列出這種方式元組中的幾個元素:

    索引(Index)    屬性(Attribute)    值(Values)
    0     tm_year(年)                 比如2011 
    1     tm_mon(月)             1 - 12
    2     tm_mday(日)                 1 - 31
    3     tm_hour(時)                 0 - 23
    4     tm_min(分)             0 - 59
    5     tm_sec(秒)             0 - 61
    6     tm_wday(weekday)            0 - 6(0表示周日)
    7     tm_yday(一年中的第幾天)    1 - 366
    8     tm_isdst(是否是夏令時)            默認為-1
    


    time模塊的方法

    • time.localtime([secs]):將一個時間戳轉換為當前時區的struct_time。secs參數未提供,則以當前時間為準。

    • time.gmtime([secs]):和localtime()方法類似,gmtime()方法是將一個時間戳轉換為UTC時區(0時區)的struct_time,。

    • time.time():返回當前時間的時間戳。
    • time.mktime(t):將一個struct_time轉化為時間戳。
    • time.sleep(secs):線程推遲指定的時間運行。單位為秒。

    • time.asctime([t]):把一個表示時間的元組或者struct_time表示為這種形式:'Sun Oct 1 12:04:38 2017'。如果沒有參數,將會將time.localtime()作為參數傳入。
    • time.ctime([secs]):把一個時間戳(按秒計算的浮點數)轉化為time.asctime()的形式。如果參數未給或者為None的時候,將會默認time.time()為參數。它的作用相當于time.asctime(time.localtime(secs))。
    • time.strftime(format[, t]):把一個代表時間的元組或者struct_time(如由time.localtime()和time.gmtime()返回)轉化為格式化的時間字符串。如果t未指定,將傳入time.localtime()。

      • 舉例:time.strftime("%Y-%m-%d %X", time.localtime()) #輸出'2017-10-01 12:14:23'


    • time.strptime(string[, format]):把一個格式化時間字符串轉化為struct_time。實際上它和strftime()是逆操作。

      • 舉例:time.strptime('2017-10-3 17:54',"%Y-%m-%d %H:%M") #輸出 time.struct_time(tm_year=2017, tm_mon=10, tm_mday=3, tm_hour=17, tm_min=54, tm_sec=0, tm_wday=1, tm_yday=276, tm_isdst=-1)
    字符串轉時間格式對應表
     
     MeaningNotes
    %aLocale’s abbreviated weekday name. 
    %ALocale’s full weekday name. 
    %bLocale’s abbreviated month name. 
    %BLocale’s full month name. 
    %cLocale’s appropriate date and time representation. 
    %dDay of the month as a decimal number [01,31]. 
    %HHour (24-hour clock) as a decimal number [00,23]. 
    %IHour (12-hour clock) as a decimal number [01,12]. 
    %jDay of the year as a decimal number [001,366]. 
    %mMonth as a decimal number [01,12]. 
    %MMinute as a decimal number [00,59]. 
    %pLocale’s equivalent of either AM or PM.(1)
    %SSecond as a decimal number [00,61].(2)
    %UWeek number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0.(3)
    %wWeekday as a decimal number [0(Sunday),6]. 
    %WWeek number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0.(3)
    %xLocale’s appropriate date representation. 
    %XLocale’s appropriate time representation. 
    %yYear without century as a decimal number [00,99]. 
    %YYear with century as a decimal number. 
    %zTime zone offset indicating a positive or negative time difference from UTC/GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M represents decimal minute digits [-23:59, +23:59]. 
    %ZTime zone name (no characters if no time zone exists). 
     %%A literal '%' character.

    最后為了容易記住轉換關系,看下圖

    datetime模塊

    相比于time模塊,datetime模塊的接口則更直觀、更容易調用

    datetime模塊定義了下面這幾個類:

    • datetime.date:表示日期的類。常用的屬性有year, month, day;
    • datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond;
    • datetime.datetime:表示日期時間。
    • datetime.timedelta:表示時間間隔,即兩個時間點之間的長度。
    • datetime.tzinfo:與時區有關的相關信息。(這里不詳細充分討論該類,感興趣的童鞋可以參考python手冊)

    我們需要記住的方法僅以下幾個:

    1. d=datetime.datetime.now() 返回當前的datetime日期類型
    d.timestamp(),d.today(), d.year,d.timetuple()等方法可以調用
    

    2.datetime.date.fromtimestamp(322222) 把一個時間戳轉為datetime日期類型

    3.時間運算

    >>> datetime.datetime.now()
    
    datetime.datetime(2017, 10, 1, 12, 53, 11, 821218)
    
    >>> datetime.datetime.now() + datetime.timedelta(4) #當前時間 +4天
    
    datetime.datetime(2017, 10, 5, 12, 53, 35, 276589)
    
    >>> datetime.datetime.now() + datetime.timedelta(hours=4) #當前時間+4小時
    
    datetime.datetime(2017, 10, 1, 16, 53, 42, 876275)
    

    4.時間替換

    >>> d.replace(year=2999,month=11,day=30)
    
    datetime.date(2999, 11, 30)
    
    版權聲明:本文為Albert_ycl原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/Albert_ycl/article/details/80217832

    智能推薦

    Python中time和datetime模塊

    Python中time和datetime模塊 1、time模塊 time模塊時間的格式有三種: **timestamp:**時間戳,格林時間1970年1月1日開始秒的偏移量。 **struct_time:**時間元組,共9個元素 **format_time:**格式化時間,具有可讀性,包括自定義格式和固定格式 1、時間格式轉換規則 2、主要time方法和time格式轉換 1、生成timestamp...

    python中的time、datetime模塊

    1.time時間模塊 1.1.獲取當前時間戳 使用time模塊中的time()函數可以獲取當前時間的時間戳。當前的時間戳應為1970年1月1日到函數執行時的秒數值。例如, 執行結果如下, 記得要導入time模塊。 1.2.時間戳與時間元組的轉換 1.2.1.時間戳轉化為時間元組 時間戳可以轉化為0時區的時間元組或者轉化為當前時區的時間元組。 我們先使用gmtime()函數將時間戳轉化為0時區的時間...

    Python 常用內建模塊(time ,datetime)

    from:https://www.cnblogs.com/sunshineyang/p/6818834.html 1,在Python中,與時間處理有關的模塊就包括:time,datetime以及calendar。 2,在Python中,通常有這幾種方式來表示時間:1)時間戳 2)格式化的時間字符串 3)元組(struct_time)共九個元素 a,想時間戳和格式化好的時間互相轉換的話,都要先轉成時...

    python之time和datetime模塊

    醉里挑燈看劍,夢回吹角連營。八百里分麾下炙,五十弦翻塞外聲。沙場秋點兵。 馬作的盧飛快,弓如霹靂弦驚。了卻君王天下事,贏得生前身后名。可憐白發生! 幾個術語了解 時間戳(timestamp)的方式:通常來說,時間戳表示的是從1970年1月1日開始按秒計算的偏移量(time.gmtime(0))此模塊中的函數無法處理1970紀元年以前的時間或太遙遠的未來(處理極限取決于C函數庫,對于32位系統而言,...

    1.2.12 python內置模塊--time、datetime

    時間戳 時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數。 注意:目前Python 3.6中支持的最大的時間戳為32535244799(3001-01-01 15:59:59) Python的time 塊下有很多函數可以轉換常見日期格式。如函數time.time()用于獲取當前時間戳。例如:   struc...

    猜你喜歡

    Python-時間模塊time、datetime

    sailan 1、時間模塊time、datetime 1.1 三種時間格式解析 1.2 時間格式間的轉換 1.3 datetime 1.4 其他 1、時間模塊time、datetime 1.1 三種時間格式解析 時間戳(timestamp):通常來說,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量。我們運行“type(time.time())”,返回...

    專題18:python模塊—datetime和time

    文章目錄 time datetime date類 time類 datetime類 timedelta類 時間加減類 注意:新的知識點 time time模塊中時間表現的格式主要有三種: timestamp時間戳,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量 struct_time時間元組,共有九個元素組。 format time 格式化時間,已格式化的結構使時間更具可讀性...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    精品国产乱码久久久久久蜜桃不卡