python數據處理技巧二

python數據處理技巧二(掌控時間)

  首先簡單說下關於時間的介紹其中重點是時間戳的處理,時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至如今的總秒數。這裏這個知識只作瞭解,接下來會用python三個關於時間的模塊來定位時間,計算時間等。python

  首先讓咱們來驗證下時間戳及怎麼換算時間戳學習

  1.要使用time方法首先要導入方法包import timespa

  2.獲取當前時間戳的方法是print time.time()就能夠獲得當前執行這個方法的時間(單位是秒)3d

  3.驗證格林時間起始值1970-01-01 因爲咱們時區是北京因此後面時間用08:00:00來表明小時、分鐘、秒code

  4.簡單介紹下時間格式中須要用到的格式單位orm

    %Y表示Year也就是年blog

    %m表示Month也就是月份索引

    %d表示Day也就是天utf-8

    %H表示Hour也就是小時字符串

    %M表示Minute也就是分鐘

    %S表示Second也就是秒

  下面咱們來看下圖的驗證結果:

  

  這裏很清晰的驗證了時間戳的做用就是時間一種表示方式:指的是從格林時間1970年1月1日到如今當前時間統計總秒數。之後看到時間戳不用慌張了,能夠理解了接下來咱們會教你如何轉換時間及處理它。

  而後咱們來了解下經常使用的幾個的time的方法,如下代碼中有註釋

 

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 
 4 import time
 5 
 6 date = "2018-08-08"
 7 
 8 # 轉換輸入的時間爲格式化的元祖
 9 time_tuple = time.strptime(date, "%Y-%m-%d")
10 print "strptime方法:",time_tuple
11 # 轉換元祖爲時間戳
12 time_stamp = time.mktime(time_tuple)
13 print "mktime方法:",time_stamp
14 # 轉換時間戳爲格式化的元祖
15 local_time =  time.localtime(time_stamp)
16 print "localtime方法:",local_time
17 # 轉換元祖爲格式化的字符串時間
18 format_time =  time.strftime("%Y-%m-%d", local_time)
19 print "strftime方法:",format_time,  type(format_time)
20 
21 # 獲取當前時間點的時間戳
22 print "time方法:",time.time()
23 # 獲取當前時間
24 print "asctime方法:",time.asctime()
25 
26 # GMT就是格林尼治標準時間
27 print "gmtime方法:",time.gmtime()
28 # 獲取格林時間的年份
29 print "gmtime-tm_year方法:",time.gmtime().tm_year
30 # 獲取格林時間的月份
31 print "gmtime-tm_mon方法:",time.gmtime().tm_mon
32 # 獲取格林時間的天
33 print "gmtime-tm_mday方法:",time.gmtime().tm_mday
34 # 獲取格林時間的小時
35 print "gmtime-tm_hour方法:",time.gmtime().tm_hour
36 # 獲取格林時間的分鐘
37 print "gmtime-tm_min方法:",time.gmtime().tm_min
38 # 獲取格林時間的秒數
39 print "gmtime-tm_sec方法:",time.gmtime().tm_sec
40 # 獲取格林時間的星期幾
41 print "gmtime-tm_wday方法:",time.gmtime().tm_wday
42 # 獲取格林時間的一年中的第幾天
43 print "gmtime-tm_yday方法:",time.gmtime().tm_yday

   咱們在學習一個datetime方法,會有同窗問這個很眼熟date+time?date表示日期也就是時間中日期一些處理方法。上面你看到又要記錄輸入時間格式又是轉換來回導方法,方法名又接近很容易混淆,若是隻是處理日期,其實datetime模塊是個不錯的選擇,我也只簡單介紹幾個好用經常使用的方法。

   接下來咱們再來了解下datetime模塊中的方法,如下代碼中有註釋:

 

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import datetime

# 打印當前時間的格式
date_now = datetime.datetime.now()
print date_now
# 打印當前時間的指定格式
date_str = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print date_str
# 只打印今天的日期
print datetime.date.today()
# 獲取几几年(類型是整形,返回結果是數字)
y = datetime.date.today().year
# 獲取幾月(類型是整形,返回結果是數字)
m = datetime.date.today().month
# 獲取幾號(類型是整形,返回結果是數字)
d = datetime.date.today().day
print "打印上面獲取的結果:",y,m,d
print "驗證上面的類型:",type(y),type(m),type(d)
print "獲取今天是周幾:",datetime.datetime(y, m, d).strftime("%w")
print "獲取指定日期是周幾:",datetime.datetime(2018, 10, 26).strftime("%w")

  這裏確定會有同窗知道%w就是week也就是周(星期)的單位,是否是看了datetime的方法比time方法對於獲取日期的方式還要簡單。

   固然接下來要介紹一個calendar日曆定位的方法,只要學會這個很容易結合上面的方法去處理日期時間的計算及時間轉換,國際化中時區的控制等。

  1.使用日曆方法首先仍是要導入calendar方法import calendar

  2.介紹一個簡單查看日曆的方法calendar.month(year)能夠查看一年全部的日曆信息calendar.month(year,month)只查看當月日曆信息

  3.這裏咱們要注意的是方法中星期一到星期天用0到6表示相似range(7)輸出的的值

  

  下面讓咱們來看一些經常使用的方法已加註釋

 

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 
 4 import calendar
 5 
 6 print "判斷輸入年份是不是閏年:",calendar.isleap(2000)
 7 print "計算兩個年份之間的閏年總和:",calendar.leapdays(2000,2020)
 8 print "獲取當月總共有多少天:",calendar.monthrange(2018,10)
 9 # 星期天數對應用 0,1,2,3,4,5,6表明星期1、星期2、星期3、星期4、星期5、星期6、星期天
10 print "獲取日期星期幾:",calendar.weekday(2018, 10, 01)
11 print "獲取當月的總天數7天爲一組並標註對應索引與星期的關係",calendar.monthcalendar(2018,9)

  到這裏是否是想到怎麼能夠如何從數據中快速定位某一週或者3個月或指定周天的數據?或者是經過時間的轉換去處理國際化時間的時差問題等等。只要靈活運用這3個方法可讓你的python對於時間日期等快速靈活的運用處理。

相關文章
相關標籤/搜索