1. 程式人生 > >python中的datetime模組分析

python中的datetime模組分析

python標準庫包含用於日期(date)和時間(time)資料的資料型別,而且還含有日曆方面的功能。我們主要會用到datetime、time和calendar模組。datetime.datetime是用得最多的資料型別。

datetime模組中的資料型別

date 以公曆形式儲存日曆日期(年、月、日)

time                將時間儲存為時、分、秒、毫秒

datetime        儲存日期和時間

timedelta       表示兩個datetime值之間的差(日、秒、毫秒)

字串和datetime之間的相互轉換

1、利用strftime()方法(傳入一個格式化字串)將datetime物件轉化成字串

eg:

datetime_now = datetime.datetime.now().strftime('%b-%d-%Y %H:%M:%S')
print datetime_now
#return Feb-26-2018 11:26:19

2、通過strptime()方法可將字串轉化成datetime物件

start_dt = "2015.2.19"
end_dt = "2015.3.29"
start = datetime.datetime.strptime(start_dt, '%Y.%m.%d')
end = datetime.datetime.strptime(end_dt, '%Y.%m.%d'
) total_days = end - start print total_days.days
#return 38

每次都要編寫時間格式定義很麻煩,尤其是對於那些常見的時間格式,這時我們可以使用第三方庫deteutil中的parser.parse方法

from dateutil.parser import parse
dt = parse('2018-2-26')
print dt
#return 2018-02-26 00:00:00

在國際通用的格式中,日通常是放在月的前面的,傳入dayfirst=True即可,但親試了一下不加甚至是dayfirst=False都會輸出正常的結果。

dt = parse('26/2/2018'
,dayfirst=True) print dt
#return 2018-02-26 00:00:00

在pandas中利用to_datetime方法可以將多種不同的時間格式轉化成標準的時間格式,對於多個時間的列表可通過索引獲取單個轉化後的時間,對於None或者是空字串等會表示為NaT(Not a Time)

import pandas as pd
datestrs = ['26/2/2018','8/8/2008',None]
dts = pd.to_datetime(datestrs)
dt = pd.to_datetime('2018.2.28')
print dt
print dts
#return 
2018-02-28 00:00:00
DatetimeIndex(['2018-02-26', '2008-08-08','NaT'], dtype='datetime64[ns]', freq=None)

datetime格式定義

    %y 兩位數的年份表示(00-99)

    %Y 四位數的年份表示(0000-9999)

    %m 月份(01-12)

    %d 月內中的一天(01-31)

    %H 24小時制小時數(0-23)

    %I 12小時制小時數(01-12)

    %M 分鐘數(00-59)

    %S 秒(00-61)(秒60和秒61用於閏秒

    %a 本地簡化星期名稱

    %A 本地完整星期名稱

    %b 本地簡化的月份名稱

    %B 本地完整的月份名稱

    %c 本地相應的日期表示和時間表示

    %j 年內的一天(001-366)

    %p 本地A.M.或P.M.的等價符

    %U 一年中的星期數(00-53)星期天為星期的開始

    %W 一年中的星期數(00-53)星期一為星期的開始

    %w 星期(0-6),星期天為星期的開始

    %x 本地相應的日期表示

    %X 本地相應的時間表示

    %Z 當前時區的名稱

    %F %Y-%m-%d簡寫形式,例如2018-02-26

    %D %m/%d/%y簡寫形式,例如26/02/2018

    %% %號本身


相關推薦

pythondatetime模組的學習

前言: 本模組主要對日期和時間進行操作處理。以下是這個模組的幾個類抽象。 dates 一個理想的日期,只有年月日,沒有區域和時令。 times 一個理想的時間,只有24小時60分,60秒。 格式為(0,0,0,0 ) time.min:(0,0,0,0) t

pythondatetime模組strftime/strptime函式

%a 星期幾的簡寫;如 星期三為Web %A 星期幾的全稱;如 星期三為Wednesday %b 月份的簡寫; 如4月份為Apr %B 月份的全稱; 如4月份為April %c 標準的日期的時間串;(如: 04/07/10 10:43:39) %C 年份的後兩位數字 %d 十進位制表示的每月的第幾天 %D 月

pythondatetime模組

datetime模組用於是date和time模組的合集,datetime有兩個常量,MAXYEAR和MINYEAR,分別是9999和1. datetime模組定義了5個類,分別是 1.datetime.date:表示日期的類 2.datetime.datetime:表示

pythondatetime模組datetime物件的使用方法

本文只講述datetime模組中datetime物件的一些常用的方法,如果讀者需要更多datetime模組的資訊,請查閱此文件。 datetime模組的物件有如下: timedelta date datetime time tzinfo 還包含以下兩個

Pythondatetime模組分析

datetime模組用於是date和time模組的合集,datetime有兩個常量,MAXYEAR和MINYEAR,分別是9999和1. datetime模組定義了5個類,分別是 1.datetime.date:表示日期的類 2.datetime.datetime:表示

pythondatetime模組詳解

timedelta timedelta的例項化 一個timedalta物件代表了一個時間差,當兩個date或datetime進行相減操作時會返回一個timedelta物件,或者,我們也可以手動對其進行例項化,其建構函式的原型如下: class datetime.timedelta([

pythondatetime模組的strftime與strptime

python中datetime模組非常好用,提供了日期格式和字串格式相互轉化的函式strftime/strptime 1、由日期格式轉化為字串格式的函式為: datetime.datetime.strftime() 2、由字串格式轉化為日期格式的函式為: dateti

pythondatetime模組分析

python標準庫包含用於日期(date)和時間(time)資料的資料型別,而且還含有日曆方面的功能。我們主要會用到datetime、time和calendar模組。datetime.datetime是用得最多的資料型別。datetime模組中的資料型別date 以公曆形式儲

python datetime、time、calendar模組常用的方法

python高階應用與資料分析學習筆記 06 # -*- coding: utf-8 -*- from datetime import * # 引入datetime模組 import

pythonmultiprocessing模組之Pipe管道

原文地址,本文在原文基礎上添加了部分註釋。 multiprocessing.Pipe([duplex]) 方法返回2個連線物件(conn1, conn2),代表管道的兩端,預設duplex為True,是雙向通訊。如果duplex為False,則conn1只能用來接收訊息,conn2只能用來

pythonos模組的作用

簡介 OS模組簡單的來說它是一個Python的系統程式設計的操作模組,可以處理檔案和目錄這些我們日常手動需要做的操作。如果你希望你的程式能夠與平臺無關的話,這個模組是尤為重要的。 常用函式和變數 os.sep可以取代作業系統特定的路徑分隔符。windows下為 “\” os.

PythonMatplotlib模組的簡單使用

目錄 Matplotlib pyplot類 pyplot.plot() 配置屬性 pyplot.subplot() Matplotlib Matplotlib 是 Python 2D 繪圖領域使用最廣泛的套件。它能讓使用者很輕鬆地將資料圖形化,並且提供多樣化的輸出格式

PythonNumpy模組的使用

目錄 NumPy ndarray物件 Numpy資料型別 Numpy陣列屬性 NumPy NumPy(Numerical Python) 是 Python 的一個擴充套件程式庫,支援大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。Nupmy可用來儲存和處

Python Wxpy模組以及其監控

概述:   本文主要分享一下博主在學習wxpy 的過程中開發的一個小程式。博主在最近有一個監控報警的需求需要完成,然後剛好在學習wxpy 這個東西,因此很巧妙的將工作和學習聯絡在一起。   博文中主要使用到的技術設計到Python,Redis,以及Java。涉及到的技術看

Pythonlogging模組

1、日誌級別 日誌級別 數值 Critical 50 Error 40 Warning 30 Info 20

Pythonshodan模組的使用

關於shodan的安裝和使用,傳送門——> 滲透測試之Shodan的安裝和使用 常用 Shodan 庫函式 shodan.Shodan(key) :初始化連線API Shodan.count(query, facets=None):返回查詢結果數量

python 歷險記(五)—— python 模組

目錄 前言 基礎 模組化程式設計 模組化有哪些好處? 什麼是 python 中的模組? 引入模組有幾種方式? 模組的查詢順序 模組中包含執行語句的情況 用 dir() 函式來窺探模組 python 的內建模組有哪些? 結語 參考文件

pythonsocket模組詳解

socket模組簡介 網路上的兩個程式通過一個雙向的通訊連線實現資料的交換,這個連線的一端稱為一個socket。socket通常被叫做“套接字”,用於描述IP地址和埠,是一個通訊鏈的控制代碼,可以用來實現不同虛擬機器或不同計算機之間的通訊。在Internet上的主機一般運行了多個服務

pythonconfigparser模組的使用

configparser模組用於生成和修改常見配置文件,當前模組的名稱在 python 3.x 版本中變更為 configparser。 首先要寫一個如下所示的配置檔案: [DEFAULT] serveraliveinterval = 45 compression = yes c

Python json模組基礎功能小結

json支援的資料型別:int, bool, str, list, dict, Null;不支援的資料型別有:set,函式等; json 的優勢,相對其他序列化資料模組,json將資料序列化為字元存入檔案後的內容易讀易懂,且可以和通行很多語言互動資料,給不同語言的程式設計師之間互通資料提供了極大的便利性;