天天看點

python時間處理子產品 datetime time子產品 deltetime子產品

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