1 首先介紹time子產品,因為簡單
python 自帶子產品
本人使用time子產品,隻使用兩個函數
time函數和sleep函數
import time
a. time.time() 函數 傳回unix時間 常用作兩個時間差的計算
b. time.sleep() 休眠多久,精度為子秒(subsecond)
<code>In [</code><code>90</code><code>]: t1 </code><code>=</code> <code>time.time()</code>
<code>In [</code><code>91</code><code>]: t1</code>
<code>Out[</code><code>91</code><code>]: </code><code>1461400225.877932</code>
<code>In [</code><code>92</code><code>]: time.sleep(</code><code>2</code><code>)</code>
<code>In [</code><code>93</code><code>]: t2 </code><code>=</code> <code>time.time()</code>
<code>In [</code><code>94</code><code>]: t2 </code><code>-</code> <code>t1</code>
<code>Out[</code><code>94</code><code>]: </code><code>24.2673659324646</code>
2 其他處理時間的場景,本人都是使用datetime子產品
python 自帶
from datetime import datetime
常用時間場景 #擷取目前時間
<code>In [</code><code>95</code><code>]: </code><code>from</code> <code>datetime </code><code>import</code> <code>datetime</code>
<code>In [</code><code>96</code><code>]: now </code><code>=</code> <code>datetime.now()</code>
#注意類型,時間之間的計算一定要是時間類型,即相同類型之間可以加減
<code>In [</code><code>97</code><code>]: </code><code>type</code><code>(now) </code>
<code>Out[</code><code>97</code><code>]: datetime.datetime</code>
<code>In [</code><code>98</code><code>]: now</code>
<code>Out[</code><code>98</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>4</code><code>, </code><code>23</code><code>, </code><code>16</code><code>, </code><code>33</code><code>, </code><code>0</code><code>, </code><code>143269</code><code>)</code>
a. 常用擷取 目前的年份,月份,日期,時,周(注意周的數值,0-6 0表示周一,依次類推)
<code>In [</code><code>116</code><code>]: year, month, today, hour, week </code><code>=</code> <code>(now.year, now.month, now.day, now.hour, now.weekday())</code>
<code>In [</code><code>117</code><code>]: year, month, today, hour, week</code>
<code>Out[</code><code>117</code><code>]: (</code><code>2016</code><code>, </code><code>4</code><code>, </code><code>23</code><code>, </code><code>16</code><code>, </code><code>5</code><code>)</code>
b. ctime()函數 傳回可讀的字元串格式
<code>In [</code><code>118</code><code>]: now.ctime()</code>
<code>Out[</code><code>118</code><code>]: </code><code>'Sat Apr 23 16:33:00 2016'</code>
c. strftime() 函數 将datetime時間格式,轉換成為指定的字元串格式
<code>In [</code><code>121</code><code>]: now.strftime(</code><code>'%Y-%m-%d'</code><code>)</code>
<code>Out[</code><code>121</code><code>]: </code><code>'2016-04-23'</code>
傳回昨天的unix時間
<code>now</code><code>=</code> <code>datetime.now()</code>
<code>yesterday </code><code>=</code> <code>now </code><code>-</code> <code>timedelta(</code><code>1</code><code>)</code>
<code>yest_clock </code><code>=</code> <code>(datetime.now() </code><code>-</code><code>timedelta(</code><code>1</code><code>)).strftime(</code><code>'%s'</code><code>)</code>
d. strptime() 函數,将字元串模式的時間,轉化成為datetime格式
<code>In [</code><code>123</code><code>]: datetime.strptime(</code><code>'20160101'</code><code>,</code><code>'%Y%m%d'</code><code>)</code>
<code>Out[</code><code>123</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>1</code><code>, </code><code>1</code><code>, </code><code>0</code><code>, </code><code>0</code><code>)</code>
3 timedelta
來自datetime子產品
from datetime import timedelta
作用計算datetime類型時間的一個內插補點(得到或将來的一個)
常用擷取前一天的datetime時間
<code>In [</code><code>129</code><code>]: now</code>
<code>Out[</code><code>129</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>4</code><code>, </code><code>23</code><code>, </code><code>16</code><code>, </code><code>33</code><code>, </code><code>0</code><code>, </code><code>143269</code><code>)</code>
<code>In [</code><code>130</code><code>]: now </code><code>-</code> <code>timedelta(</code><code>1</code><code>)</code>
<code>Out[</code><code>130</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>4</code><code>, </code><code>22</code><code>, </code><code>16</code><code>, </code><code>33</code><code>, </code><code>0</code><code>, </code><code>143269</code><code>)</code>
擷取一個小時之前的時間
<code>In [</code><code>134</code><code>]: now</code>
<code>Out[</code><code>134</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>4</code><code>, </code><code>23</code><code>, </code><code>16</code><code>, </code><code>33</code><code>, </code><code>0</code><code>, </code><code>143269</code><code>)</code>
一秒前,一小時前,一天前,一分中之前
但是沒有一年前,一個月前勒(這個原因你能想明白的)
<code>In [</code><code>158</code><code>]: now </code><code>-</code> <code>timedelta(seconds</code><code>=</code><code>1</code><code>)</code>
<code>Out[</code><code>158</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>4</code><code>, </code><code>23</code><code>, </code><code>16</code><code>, </code><code>32</code><code>, </code><code>59</code><code>, </code><code>143269</code><code>)</code>
<code>In [</code><code>159</code><code>]: now </code><code>-</code> <code>timedelta(seconds</code><code>=</code><code>1</code><code>)</code>
<code>Out[</code><code>159</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>4</code><code>, </code><code>23</code><code>, </code><code>16</code><code>, </code><code>32</code><code>, </code><code>59</code><code>, </code><code>143269</code><code>)</code>
<code>In [</code><code>160</code><code>]: now </code><code>-</code> <code>timedelta(hours</code><code>=</code><code>1</code><code>)</code>
<code>Out[</code><code>160</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>4</code><code>, </code><code>23</code><code>, </code><code>15</code><code>, </code><code>33</code><code>, </code><code>0</code><code>, </code><code>143269</code><code>)</code>
<code>In [</code><code>161</code><code>]: now </code><code>-</code> <code>timedelta(days</code><code>=</code><code>1</code><code>)</code>
<code>Out[</code><code>161</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>4</code><code>, </code><code>22</code><code>, </code><code>16</code><code>, </code><code>33</code><code>, </code><code>0</code><code>, </code><code>143269</code><code>)</code>
<code>In [</code><code>162</code><code>]: now </code><code>-</code> <code>timedelta(minutes</code><code>=</code><code>1</code><code>)</code>
<code>Out[</code><code>162</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>4</code><code>, </code><code>23</code><code>, </code><code>16</code><code>, </code><code>32</code><code>, </code><code>0</code><code>, </code><code>143269</code><code>)</code>
擷取上周
<code>In [</code><code>4</code><code>]: </code><code>from</code> <code>datetime </code><code>import</code> <code>datetime</code>
<code>In [</code><code>5</code><code>]: now </code><code>=</code> <code>datetime.now() </code>
<code>In [</code><code>6</code><code>]: </code><code>from</code> <code>datetime </code><code>import</code> <code>datetime, timedelta</code>
<code>In [</code><code>7</code><code>]: now </code><code>=</code> <code>datetime.now() </code>
<code>In [</code><code>8</code><code>]: last_week </code><code>=</code> <code>now </code><code>-</code><code>timedelta(weeks</code><code>=</code><code>1</code><code>)</code>
<code>In [</code><code>9</code><code>]: now</code>
<code>Out[</code><code>9</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>5</code><code>, </code><code>4</code><code>, </code><code>21</code><code>, </code><code>39</code><code>, </code><code>35</code><code>, </code><code>424140</code><code>)</code>
<code>In [</code><code>10</code><code>]: last_week</code>
<code>Out[</code><code>10</code><code>]: datetime.datetime(</code><code>2016</code><code>, </code><code>4</code><code>, </code><code>27</code><code>, </code><code>21</code><code>, </code><code>39</code><code>, </code><code>35</code><code>, </code><code>424140</code><code>)</code>
<code>In [</code><code>12</code><code>]: now.weekday()</code>
<code>Out[</code><code>12</code><code>]: </code><code>2</code>
注意:
星期n
python中代表
一
二
1
三
2
四
3
五
4
六
5
日
6
本文轉自殘劍部落格51CTO部落格,原文連結http://blog.51cto.com/cuidehua/1767046如需轉載請自行聯系原作者
cuizhiliang