<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] ## time & datetime 模塊 在Python中,與時間處理有關的模塊就包括:time、datetime。 ### 前言 #### **Python中表示時間的方式** 1. 時間戳 2. 格式化的時間字符串 3. 元組(struct\_time)共九個元素。 #### **幾個時間概念定義** * 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(): #### **字符串轉時間格式對應表** |符號 | 意義 | 補充說明 | | --- | --- | --- | |%a | 星期的簡寫 | 如:星期三為Web | |%A | 星期的全寫 | 如:星期三為Wednesday | |%b | 月份的簡寫 | 如:4月份為Apr | |%B | 月份的全寫 | 如:4月份為April | |%c: | 日期時間的字符串表示。| 如:04/07/10 10:43:39 | |%d: | 日在這個月中的天數 | 是這個月的第幾天| |%f: | 微秒 | 范圍:[0,999999] | |%H: | 小時| 24小時制,[0, 23] | |%I: | 小時| 12小時制,[0, 11] | |%j: | 日在年中的天數 | [001,366]:是當年的第幾天 | |%m: | 月份| [01,12] | |%M: | 分鐘| [00,59] | |%p: | AM或者PM | 上午或下午| |%S: | 秒 | 范圍:[00,61] | |%U: | 當年第幾周 | 星期天作為周的第一天| |%w: | 當周第幾天 | 范圍為[0, 6],6表示星期天 | |%W: | 當年第幾周| 星期一作為周的第一天 | |%x: | 日期字符串| 如:04/07/10 | |%X: | 時間字符串| 如:10:43:39 | |%y: | 2個數字表示的年份| 19 | |%Y: | 4個數字表示的年份| 2019 | |%z: | 與utc時間的間隔 | 如果是本地時間,返回空字符串 | |%Z: | 時區名稱| 如果是本地時間,返回空字符串 | |%%: | %% => %| | 索引(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.localtime() time.struct_time(tm_year=2019, tm_mon=1, tm_mday=20, tm_hour=13, tm_min=21, tm_sec=31, tm_wday=6, tm_yday=20, tm_isdst=0) >>> time.localtime(123456789) time.struct_time(tm_year=1973, tm_mon=11, tm_mday=30, tm_hour=5, tm_min=33, tm_sec=9, tm_wday=4, tm_yday=334, tm_isdst=0) ``` ### `time.gmtime([secs])` 和localtime()方法類似,gmtime()方法是將一個時間戳轉換為UTC時區(0時區)的struct_time。 ``` >>> `time.gmtime() ` time.struct_time(tm_year=2019, tm_mon=1, tm_mday=20, tm_hour=5, tm_min=26, tm_sec=53, tm_wday=6, tm_yday=20, tm_isdst=0) >>> time.gmtime(123456789) time.struct_time(tm_year=1973, tm_mon=11, tm_mday=29, tm_hour=21, tm_min=33, tm_sec=9, tm_wday=3, tm_yday=333, tm_isdst=0) ``` ### `time.time()` 返回當前時間的時間戳。 ``` >>> time.time() 1547962066.9111545 ``` ### `time.mktime(t)` 將一個struct_time轉化為時間戳。 ``` >>> time.mktime((2019,2,17,17,3,38,1,48,0)) 1550394218.0 ``` ### `time.sleep(secs)` 線程推遲指定的時間運行。單位為秒。 ``` >>> print(time.ctime());time.sleep(3);print(time.ctime()) Sun Jan 20 13:39:45 2019 Sun Jan 20 13:39:48 2019 ``` ### `time.asctime([t])` 把一個表示時間的元組或者struct_time表示為這種形式:'Sun Oct 1 12:04:38 2017'。如果沒有參數,將會將time.localtime()作為參數傳入。 ``` >>> time.asctime() 'Sun Jan 20 13:44:08 2019' >>> time.asctime((2019,2,17,17,3,38,1,48,0)) 'Tue Feb 17 17:03:38 2019' ``` ### `time.ctime([secs])` 把一個時間戳(按秒計算的浮點數)轉化為time.asctime()的形式。如果參數未給或者為None的時候,將會默認time.time()為參數。它的作用相當于`time.asctime(time.localtime(secs))`。 ``` 'Sun Jan 20 13:46:37 2019' >>> time.ctime(1547963185.4658437) 'Sun Jan 20 13:46:25 2019' ``` ### **`time.strftime(format[, t])`** 把一個代表時間的元組或者struct_time(如由time.localtime()和time.gmtime()返回)轉化為格式化的時間字符串。如果t未指定,將傳入time.localtime()。 ``` >>> time.strftime("%Y-%m-%d %X", time.localtime()) '2019-01-20 13:49:39' >>> time.strftime("%Y-%m-%d %X", (2019,2,17,17,3,38,1,48,0)) '2019-02-17 17:03:38' ``` ### `time.strptime(string[, format]` 把一個格式化時間字符串轉化為struct_time。實際上它和strftime()是逆操作。 ``` >>> time.strptime('2019-10-3 17:54',"%Y-%m-%d %H:%M") time.struct_time(tm_year=2019, tm_mon=10, tm_mday=3, tm_hour=17, tm_min=54, tm_sec=0, tm_wday=3, tm_yday=276, tm_isdst=-1) ``` ### **總結:時間關系轉換圖** ![時間關系轉換圖](https://www.github.com/noah-luo/imags/raw/master/year/1547964593183.png) ## datetime模塊 相比于time模塊,datetime模塊的接口則更直觀、更容易調用 ### datetime模塊定義了下面這幾個類 * datetime.date:表示日期的類。常用的屬性有year, month, day; * datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond; * datetime.datetime:表示日期時間。 * datetime.timedelta:表示時間間隔。即兩個時間點之間的長度。 * datetime.tzinfo:與時區有關的相關信息 ### `datetime.datetime.now() ` 返回當前的datetime日期類型,有很多后續方法可以調用 ``` d=datetime.datetime.now() >>> d datetime.datetime(2019, 1, 20, 14, 22, 31, 209699) >>> d.ctime() 'Sun Jan 20 14:22:31 2019' >>> d.timestamp() 1547965351.209699 >>> d.time() datetime.time(14, 22, 31, 209699) >>> d.day 20 >>> d.year 2019 >>> d.timetuple() time.struct_time(tm_year=2019, tm_mon=1, tm_mday=20, tm_hour=14, tm_min=22, tm_sec=31, tm_wday=6, tm_yday=20, tm_isdst=-1) ``` ### `datetime.date.fromtimestamp(時間戳) ` 把一個時間戳轉為datetime日期類型 ``` >>> datetime.date.fromtimestamp(1547965351.209699) datetime.date(2019, 1, 20) ``` ### 時間運算 ``` >>> 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)``` ``` ### 時間替換 ``` >>> d.replace(year=2999,month=11,day=30) datetime.date(2999, 11, 30) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看