python中時間格式處理問題—— time和datetime庫函數應用!

2021-03-02 小張Python
在數據處理中經常會遇到 時間格式轉換 問題,有時我們拿到的是時間戳(一連串數字),需要把它轉化固定的時間格式;又或者給的時間格式不理想,只需要其中中的 年、月、日, 就需要把多餘部分給去掉;Snipaste_2020-02-20_00-49-56.jpg1,概念了解這篇文章主要介紹一下 python 中 時間轉換問題(  用到的庫:timedatetime ),對於 time 來說,使用到的函數主要有四個:strptime、strftime、localtime、mktime;時間轉換方面需要了解三個概念:時間戳、時間數組(對象)、時間格式時間戳,簡單地理解就是有一連續數字可以代表某一刻的時間,例如 1582043910 這一串數字代表的就是 2020/2/19 0:38:30 。一個能表示一份數據在某個特定時間之前已經存在的、 完整的、 可驗證的數據,通常是一個字符序列,唯一地標識某一刻的時間時間數組:是具有結構層次上的時間,數據類型為元組,並不是一個時間字符串;結構如下:time.struct_time(tm_year=2018, tm_mon=5, tm_mday=2, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=122, tm_isdst=-1)時間格式:類似於「2020/01/03  02:20:00」 、「2020-01-03  02:10:00」這樣的,是一個字符串。Snipaste_2020-02-19_00-28-25.jpg時間格式與時間戳之間轉換,只能通過時間數組(時間對象)來進行,這裡的時間數組起到了橋梁的作用。2,strptime、strftime、localtime、mktime 代碼實操2.1,時間戳轉化為時間格式(自定義,例如 「2020/01/02 08:00:00」)利用 time.time() 函數獲取當前時間的時間戳,並利用 time.localtime 將時間戳轉化為時間數組;

import time
#獲取當前時間的時間戳
start = time.time()
print(start)

#時間戳轉化為固定時間格式;
#首先,利用time.localtime將時間戳轉化為當地時間;
local_time = time.localtime(start)
print(local_time)

Snipaste_2020-02-20_00-14-41.jpg在用strftime 將時間數組轉化為自己定義的時間格式 ,strftime 接受兩個參數:第一個為所需要的時間格式,第二個是需要轉換的時間數組(第二個參數不接受字符串,只接受 時間元組 或 struct_time格式)

#其次在利用strftime將時間數組轉化為時間格式;
#轉化為%Y_%m_%d %H:%M:%S
type_time = time.strftime('%Y/%m/%d %H:%M:%S',local_time)
print(type_time)

#輸入字符串時
type_time1 = time.strftime('%Y/%m/%d %H:%M:%S','2020/02/20 00:14:10')
print(type_time1)

Snipaste_2020-02-20_00-25-58.jpg2.2,自定義時間轉化為時間戳先利用strptime 將合法時間格式轉化為時間數組,再用 mktime 函數轉化為時間戳;同樣地、strptime只接受時間合法格式(為一個字符串),不接受其他數據類型;

#將時間字符串轉化為時間戳
#利用的函數為 time.mktime 和 time.strptime;
type_time1 = '2020-02-03 10:10:00'
#利用time.strptime轉化為時間數組;
time_arr = time.strptime(type_time1,'%Y-%m-%d %H:%M:%S')
print(time_arr)


#利用time.mktime將時間數組轉化為時間戳;
time_stamp = time.mktime(time_arr)
print(time_stamp)


#將時間戳傳入 strptime 函數中;
time_arr1 = time.strptime(time_stamp,'%Y-%m-%d %H:%M:%S')
print(time_arr1)

Snipaste_2020-02-20_00-32-57.jpg3,關於 time  和 datetime 交叉應用python 在時間格式處理方面,除去 time庫 之外,還有一個經常用到的庫 :datetime,計算時間差時,常會用到  datetime.timedelta  函數 ,兩個簡單例子的代碼實操如下:3.1,獲取10天之前的日期

import time
import datetime

#time和datetime函數相結合,獲取10天前的時間
#timedelta獲取十天的時間元組
print(datetime.timedelta(days=10))
print('\n')

#用現在時間前去十天,獲取十天前的時間元組
tree_time = (datetime.datetime.now()-datetime.timedelta(days = 10))
print('十天前的時間元組為:')
print(tree_time)
print('\n')


#再轉化為時間戳;
time_stamp = int(time.mktime(tree_time.timetuple()))
print('10天前的時間戳為:')
print(time_stamp)
print('\n')

#字符串格式轉換;
other_style_time = tree_time.strftime('%Y/%m%d %H:%M:%S')
print('10天前的時間為:')
print(other_style_time)
print('\n')

Snipaste_2020-02-20_10-51-57.jpg3.2,兩個時間點之間相差天數、小時數、秒數

time_1 = '2020-02-01 10:23:25'
# 轉化time_1格式問題,利用datetime.datetime.strptime時間數組轉換
time1_type = datetime.datetime.strptime(str(time_1),'%Y-%m-%d %H:%M:%S')

time2 = '2020-01-23 08:25:00'
time2_type = datetime.datetime.strptime(str(time2),'%Y-%m-%d %H:%M:%S')


#相減計算天數
print('time_1與time2_type相差天數為:\n')
print((time1_type-time2_type).days)
print('\n')


print('time_1與time2_type相差秒數為:\n')
print((time1_type-time2_type).seconds)
print('\n')



print('time_1與time2_type相差小時數為:\n')
print((time1_type-time2_type).seconds//60)
print('\n')

Snipaste_2020-02-20_10-52-06.jpg

Pythonic

相關焦點

  • python 時間模塊 time datetime calendar複習與比較
    今天針對python庫自帶的三個時間模塊進行複習。。。。time模塊time模塊提供各種操作時間的函數由於time模塊是python自帶的,所以只需要簡單的import time就ok了獲取時間戳time.time()函數可以用來獲取當前時間的時間戳。
  • 深入Python中的time和datetime模塊
    time和datetime是Python處理日期和時間的標準庫。在我們項目的實際開發當中使用率是非常高的。datetime模塊有四個重要的類,date,time,datetime,以及timedelta類,分別表示的是日期對象、時間對象、日期時間對象和時間差對象。
  • Python datetime指南:教你如何處理日期和時間(附試題+答案)
    是 Python 中處理日期的標準模塊,它提供了 4 種對日期和時間進行處理的主要對象:datetime、date、time 和 timedelta。通過本文,你會學習到如何操作這些對象,並用 Python 解決一些有關日期和時間的實際問題。
  • 第25天:Python datetime 和 time
    在前面的章節中已經介紹了一些 Python 常用的模塊,本節再介紹兩個模塊 datetime 模塊和 time 模塊,這兩個模塊主要用於轉換日期格式的功能。datetime模塊datetime 模塊是 Python 內置的功能模塊,它可以實現對日期的算數運算,以指定的方式格式化日期。
  • 二十六、深入Python中的time和datetime模塊
    「@Author:Runsen」time和datetime是Python處理日期和時間的標準庫。在我們項目的實際開發當中使用率是非常高的。datetime模塊有四個重要的類,date,time,datetime,以及timedelta類,分別表示的是日期對象、時間對象、日期時間對象和時間差對象。時間戳時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數。
  • 一文帶你搞懂pandas中的時間處理(詳細)
    與PeriodIndex函數:類似於to_datetime()函數4、Timedelta類  1)日期前移、後移一天  2)兩個時間做差1、pandas中6個時間相關的類    在多數情況下,對時間類型數據進行分析的前提就是將原本為字符串的時間轉換為標準時間類型。
  • python教程之七模塊與函數庫
    模塊上一章,我們講解了函數的概念及其使用方法和案例等,我們定義了函數後,可以多次調用該函數來使用,但是如果我們從python解釋器退出後,這些函數信息就都無效了,為此,我們本章提供了模塊這個概念。我們把這些定義存放在文件裡,保存在磁碟裡,這個文件被稱為模塊。模塊是包含所有我們定義的函數和變量的文件,可以被別的程序引入,用來使用模塊裡面的信息。
  • python標準庫 datetime 日期的使用
    我們在工作過程中有時候會用到日期方面的計算,比如計算兩個日期之前的差,這需要用到python中的一個日期庫 date,今天我們就來認識一下這個庫的使用吧
  • Python基礎模塊:日期與時間模塊@time+datetime
    前段時間才哥主要在忙於工作和遊戲,以及準備肥家事宜(比如預約核酸)。終於,回家之後準備好好學習一下,從python基礎模塊開始,今天為大家準備的是python的日期與時間處理模塊time和datetime。
  • 【Python基礎】13個知識點,系統整理Python時間處理模塊Datetime
    前言在用 Python 進行數據處理,尤其是時間序列數據的處理,經常會涉及處理時間或日期的地方,有些看似簡單的問題,經常會混淆,甚至被困住。本文分享的內容來自 Lemon 整理的《Python時間使用指南》,完整版的可以在公眾號 「檸檬數據」獲取。
  • python中的時間處理
    python中處理時間的模塊有三個,datetime, time,calendar,融匯貫通三個模塊,才能隨心所欲地用python
  • Python 中的時間處理
    python中處理時間的模塊有三個,datetime, time,calendar
  • 13個知識點,系統整理Python時間處理模塊Datetime
    前言在用 Python 進行數據處理,尤其是時間序列數據的處理,經常會涉及處理時間或日期的地方,有些看似簡單的問題,經常會混淆,甚至被困住。本文分享的內容來自 Lemon 整理的《Python時間使用指南》,完整版的可以通過文末來獲取。
  • python基礎系列|示例講解時間模塊datetime
    Python 有很多種方式處理日期和時間,常見的時間處理的模塊是datetime、time、calendar。能融匯貫通的了解和使用這三個模塊,才能輕而易舉地用python處理時間。本文以此為目的,通過講述各個時間模塊的概述、函數及相關知識細節、以及相應的示例來講透它們的使用方式。
  • 【萬字長文】詳解Python時間處理模塊-datetime
    類可以同時獲得日期和時間信息,datetime 對象是包含來自 date 對象和 time 對象的所有信息的單一對象。注意:microsecond-微秒,百萬分之一秒 datetime類是date和time的結合體,包括date與time的所有信息,date和time類中具有的方法和屬性,datetime
  • Python字符串及Time庫介紹
    Time庫的介紹,時間獲取,時間格式化,程序計時應用。簡單介紹Time庫:Time庫作為python中處理時間的標準庫,當然,Python中也有若干個處理時間的庫,但Time庫是最基本的一個。Time庫的調用:import time (以下代碼展示運行的前提是已調用此庫!!!)Time庫函數的基本調用形式:time.
  • python中的時間處理大總結
    https://www.jianshu.com/p/a035a564b248python中處理時間的模塊有三個,datetime
  • 傻傻分不清楚系列|Python中各種時間處理方法(上)
    相信大多數數據分析師在入手Python的時候,在學習到time庫與datetime庫時,都會對兩個庫裡面長得很像,又相互有關聯的各種類和方法感到非常窩心。當接觸到pandas處理時間序列的方法時,再次發現其中各種類和方法又和前面兩個時間庫的方法「長得好像又似乎有點不同」,此時,想必每個強迫症內心早已經發出「土撥鼠吶喊」。
  • 用Python處理時間日期字符串的小結
    比較常見的就是解析syslog產生的日誌:需要解析字符串獲知日誌產生的時間。用到的地方挺多的,值得記錄一下。  %X 按照 (%H:%M:%S) 格式顯示當前時間,例如:「22:45:03」   %s 從 1970年1月1日0點0分0秒到現在歷經的秒數 (GNU擴充)實際使用樣例:"""XXXX Jun 19 22:45:03 XXXX"""   from datetime import datetime   month = "Jun"   day
  • 從零入門量化交易系列-python中幾個量化金融常用標準庫math,calendar,time,datetime
    註:以下指令可以嵌入格式字符串中。它們顯示時沒有可選的欄位寬度和精度規範。4、日期時間模塊datetimedatetime模塊提供了處理日期和時間的類,既有簡單的方式,又有複雜的方式。它雖然支持日期和時間算法,但其實現的重點是為輸出格式化和操作提供高效的屬性提取功能。