1. 程式人生 > >Python日期和時間函式

Python日期和時間函式

Python時間和日期操作需要用到datetime和time標準庫模組。 
一、time模組 
1.time模組表示時間的方式 
①時間戳 
②格式化的時間字串 
③以陣列的形式表示,即(struct_time),共有九個元素

  • year (four digits, e.g. 1998)
  • month (1-12)
  • day (1-31)
  • hours (0-23)
  • minutes (0-59)
  • seconds (0-59)
  • weekday (0-6, Monday is 0)
  • Julian day (day in the year, 1-366)
  • DST (Daylight Savings Time) flag (-1, 0 or 1) 是否是夏令時

2.常用函式 
①asctime([tuple]) -> string 
將一個struct_time(預設為當時時間),轉換成字串。

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.asctime()
<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'Sun Jul 31 11:10:39 2016'</span>
>>> import <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>
>>> thisTime = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"2016-07-31 12:12:12"</span>
>>> timeTuple = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.strptime(thisTime, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>)
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.asctime(timeTuple)
<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'Sun Jul 31 12:12:12 2016'</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li></ul>

②ctime(seconds) -> string 
將一個時間戳(預設為當前時間)轉換成一個時間字串。

<code class="hljs python has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span>time.ctime()
<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'Sun Jul 31 11:11:33 2016'</span>
<span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span>time.ctime(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1469938332</span>)
<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'Sun Jul 31 12:12:12 2016'</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li></ul>

③ gmtime([seconds]) -> (tm_year, tm_mon, tm_day, tm_hour, tm_min,tm_sec, tm_wday, tm_yday, tm_isdst) 
將一個時間戳轉換成一個UTC時區(0時區)的struct_time,如果seconds引數未輸入,則以當前時間為轉換標準。

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">gmtime</span>()
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.struct_time(tm_year=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>, tm_mon=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>, tm_mday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">31</span>, tm_hour=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>, tm_min=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15</span>, tm_sec=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">35</span>, tm_wday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>, tm_yday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">213</span>, tm_isdst=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>)
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">gmtime</span>(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1469938332</span>)
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.struct_time(tm_year=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>, tm_mon=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>, tm_mday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">31</span>, tm_hour=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>, tm_min=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>, tm_sec=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>, tm_wday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>, tm_yday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">213</span>, tm_isdst=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>)</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li></ul>

④localtime([seconds]) -> (tm_year,tm_mon,tm_day,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst) 
將一個時間戳轉換成一個當前時區的struct_time,如果seconds引數未輸入,則以當前時間為轉換標準。

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">localtime</span>()
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.struct_time(tm_year=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>, tm_mon=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>, tm_mday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">31</span>, tm_hour=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">11</span>, tm_min=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">17</span>, tm_sec=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">17</span>, tm_wday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>, tm_yday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">213</span>, tm_isdst=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>)
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">localtime</span>(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1469938332</span>)
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.struct_time(tm_year=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>, tm_mon=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>, tm_mday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">31</span>, tm_hour=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>, tm_min=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>, tm_sec=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>, tm_wday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>, tm_yday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">213</span>, tm_isdst=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>)</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li></ul>

⑤ mktime(tuple) -> floating point number 
將一個以struct_time轉換為時間戳。

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> import <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>
>>> thisTime = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"2016-07-31 12:12:12"</span>
>>> timeTuple = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.strptime(thisTime, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>)
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.mktime(timeTuple)
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1469938332.0</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

⑥ strftime(format[, tuple]) -> string 
將指定的struct_time(預設為當前時間),根據指定的格式化字串輸出。

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.strftime(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>)
<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'2016-07-31 11:20:41'</span>
>>> import <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>
>>> thisTime = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"2016-07-31 12:12:12"</span>
>>> timeTuple = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.strptime(thisTime, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>)
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.strftime(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>,timeTuple)
<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'2016-07-31 12:12:12'</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li></ul>

⑦strptime(string, format) -> struct_time 
將時間字串根據指定的格式化符轉換成陣列形式的時間。

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> import <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>
>>> thisTime = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"2016-07-31 12:12:12"</span>
>>> timeTuple = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.strptime(thisTime, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>)
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">print</span> timeTuple
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.struct_time(tm_year=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>, tm_mon=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>, tm_mday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">31</span>, tm_hour=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>, tm_min=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>, tm_sec=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>, tm_wday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>, tm_yday=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">213</span>, tm_isdst=-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

⑧time() -> floating point number 
返回當前時間的時間戳。

<code class="hljs livecodeserver has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">time</span>.<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">time</span>()
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1469935566.776</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>

二、datetime模組 
1.datetime中的常量

  • datetime.MINYEAR,表示datetime所能表示的最小年份,MINYEAR = 1。
  • datetime.MAXYEAR,表示datetime所能表示的最大年份,MAXYEAR = 9999。

2.datetime中的類

  • datetime.date:表示日期的類。常用的屬性有year, month, day;
  • datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond;
  • datetime.datetime:表示日期時間。
  • datetime.timedelta:表示時間間隔,即兩個時間點之間的長度。
  • datetime.tzinfo:與時區有關的相關資訊。

3.date類 
date類表示一個由年、月、日組成的日期。 
①類方法與類屬性 
date類定義了一些常用的類方法與類屬性,方便我們操作:

  • date.max、date.min:date物件所能表示的最大、最小日期;
  • date.resolution:date物件表示日期的最小單位。這裡是天。
  • date.today():返回一個表示當前本地日期的date物件;
  • date.fromtimestamp(timestamp):根據給定的時間戮,返回一個date物件;
  • datetime.fromordinal(ordinal):將Gregorian日曆時間轉換為date物件;(Gregorian Calendar :一種日曆表示方法,類似於我國的農曆,西方國家使用比較多,此處不詳細展開討論。)

②例項方法和屬性 
date提供的例項方法和屬性:

  • date.year、date.month、date.day:年、月、日;
  • date.replace(year, month,day):生成一個新的日期物件,用引數指定的年,月,日代替原有物件中的屬性。(原有物件仍保持不變)
  • date.timetuple():返回日期對應的time.struct_time物件;
  • date.toordinal():返回日期對應的Gregorian Calendar日期;
  • date.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此類推;
  • data.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此類推;
  • date.isocalendar():返回格式如(year,month,day)的元組;
  • date.isoformat():返回格式如’YYYY-MM-DD’的字串;
  • date.strftime(fmt):自定義格式化字串。在下面詳細講解。

③date支援的其他操作

  • date2 = date1 + timedelta #日期加上一個間隔,返回一個新的日期物件)
  • date2 = date1 - timedelta #日期隔去間隔,返回一個新的日期物件
  • timedelta = date1 - date2 #兩個日期相減,返回一個時間間隔物件
  • date1 < date2 #兩個日期進行比較

4.Time類 
time類表示時間,由時、分、秒以及微秒組成。 
①time類定義的類屬性

  • time.min、time.max:time類所能表示的最小、最大時間。其中,time.min = time(0, 0, 0, 0),time.max = time(23, 59, 59, 999999);
  • time.resolution:時間的最小單位,這裡是1微秒;

②time類提供的例項方法和屬性

  • time.hour、time.minute、time.second、time.microsecond:時、分、秒、微秒;
  • time.tzinfo:時區資訊;
  • time.replace([ hour[ , minute[ , second[ ,microsecond[ , tzinfo] ] ] ] ] ):建立一個新的時間物件,用引數指定的時、分、秒、微秒代替原有物件中的屬性(原有物件仍保持不變);
  • time.isoformat():返回型如”HH:MM:SS”格式的字串表示;
  • time.strftime(fmt):返回自定義格式化字串。在下面詳細介紹;

像date一樣,也可以對兩個time物件進行比較,或者相減返回一個時間間隔物件。

5.datetime類 
datetime是date與time的結合體,包括date與time的所有資訊。 
①datetime類定義的類屬性與方法

  • datetime.min、datetime.max:datetime所能表示的最小值與最大值;
  • datetime.resolution:datetime最小單位;
  • datetime.today():返回一個表示當前本地時間的datetime物件;
  • datetime.now([tz]):返回一個表示當前本地時間的datetime物件,如果提供了引數tz,則獲取tz引數所指時區的本地時間;
  • datetime.utcnow():返回一個當前utc時間的datetime物件;
  • datetime.fromtimestamp(timestamp[,tz]):根據時間戮建立一個datetime物件,引數tz指定時區資訊;
  • datetime.utcfromtimestamp(timestamp):根據時間戮建立一個datetime物件;
  • datetime.combine(date, time):根據date和time,建立一個datetime物件;
  • datetime.strptime(date_string, format):將格式字串轉換為datetime物件;

②datetime類提供的例項方法與屬性

  • datetime.year、month、day、hour、minute、second、microsecond、tzinfo:年、月、日、時、分、秒、毫秒、時區;
  • datetime.date():獲取date物件。
  • datetime.time():獲取time物件。
  • datetime. replace([ year[ , month[ , day[ , hour[ , minute[ , second[ , microsecond[ ,tzinfo] ] ] ] ] ] ] ]): 返回一個替換了指定日期時間欄位的新datetime物件。
  • datetime.timetuple ():返回一個時間元素, 等價於time.localtime()。
  • datetime. utctimetuple():返回UTC時間元組物件, 等價於time.localtime()。
  • datetime. toordinal ():返回日期對應的Gregorian Calendar 日期。
  • datetime. weekday ():返回 0 ~ 6 表示星期幾(星期一是0,依此類推)。
  • datetime. isocalendar ():返回一個三元組格式 (year, month, day)。
  • datetime. isoformat ([ sep] ):返回一個 ISO 8601 格式的日期字串,如 “YYYY-MM-DD”的字串。
  • datetime. ctime():返回一個日期時間的C格式字串,等效於time.ctime(time.mktime(dt.timetuple()));
  • datetime. strftime (format):返回自定義格式化字串表示日期。

像date一樣,也可以對兩個datetime物件進行比較,或者相減返回一個時間間隔物件,或者日期時間加上一個間隔返回一個新的日期時間物件。 
6.timedelta與tzinfo類 
①timedelta類 
datetime.timedelta物件代表兩個時間之間的的時間差,兩個date或datetime物件相減時可以返回一個timedelta物件。 
timedelta包含資料days、seconds、microseconds,表示天數、秒數、微秒數,包含方法total_seconds() ,表示時間間隔的總秒數。 
②tzinfo類 
tzinfo:與時區有關的相關資訊。

三、常見的日期時間操作 
1.將字串格式的日期轉換為時間戳 
方法:先將其轉換為時間元組,再轉換為時間戳。

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> import <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>
>>> thisTime = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"2016-07-31 12:12:12"</span>
>>> timeTuple = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.strptime(thisTime, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>)
>>> timeStamp = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.mktime(timeTuple))
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">print</span> timeStamp
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1469938332</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>

2.將時間戳轉換為指定格式的日期 
方法一

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> import <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>
>>> timeStamp = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1469938332</span>
>>> timeTuple = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">localtime</span>(timeStamp)
>>> otherTime = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.strftime(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>, timeTuple)
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">print</span> otherTime
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">31</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>

方法二

<code class="hljs python has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> datetime
<span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span>timeStamp = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1469938332</span>
<span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span>dt= datetime.datetime.utcfromtimestamp(timeStamp)
<span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span>otherTime = dt.strftime(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"%Y-%m-%d %H:%M:%S"</span>)
<span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">print</span> otherTime
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">31</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">04</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>

3.更改日期格式 
方法:先轉換為時間元組,然後轉換為其他格式。

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> import <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>
>>> thisTime = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"2016-07-31 12:12:12"</span>
>>>timeTuple = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.strptime(thisTime, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>)
>>>otherTime = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.strftime(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>/<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>/<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>, timeTuple)
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">print</span> otherTime
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">31</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>

4.將當前時間並轉換為指定日期格式 
方法一:

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> import <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>
>>> nowStamp = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">int</span>(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>())  
>>> timeTuple = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">localtime</span>(nowStamp)
>>> otherTime = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">time</span>.strftime(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>, timeTuple)
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">print</span> otherTime
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">31</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">19</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">47</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>

方法二:

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> import datetime
>>> now = datetime.datetime.now()
>>> otherTime = now.strftime(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>)
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">print</span> otherTime
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">31</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">21</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">45</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

5、獲取今天、昨天和明天的日期

<code class="hljs python has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> datetime
<span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span>today = datetime.date.today()
<span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span>yesterday = today - datetime.timedelta(days=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)
<span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span>tomorrow = today + datetime.timedelta(days=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>) 
<span class="hljs-prompt" style="color: rgb(0, 102, 102); box-sizing: border-box;">>>> </span><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">print</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"昨天:%s, 今天:%s, 明天:%s"</span> % (yesterday, today, tomorrow)
昨天:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">30</span>, 今天:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">31</span>, 明天:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">08</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>

6.計算前1天、後一天的時間

<code class="hljs perl has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">>>> import datetime
>>> dtOneDayAgo = (datetime.datetime.now() - datetime.timedelta(days = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)).strftime(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>)
>>> dtOneDayAfter = (datetime.datetime.now() + datetime.timedelta(days = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)).strftime(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%Y</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%m</span>-<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%d</span> <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%H</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%M</span>:<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">%S</span>"</span>)
>>> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">print</span> dtOneDayAgo,dtOneDayAfter
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">07</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">30</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">39</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">54</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2016</span>-08-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">01</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">40</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">14</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</