python學習筆記2——time和datetime模塊
標簽: python time模塊 datetime模塊
一、time模塊
常用函數
1. time()函數
time()
函數返回的是時間戳(timestamp)。所謂時間戳指的是從1970年1月1日00:00:00開始按秒計算的偏移量。其他返回時間戳方式的函數還有clock()。
實例
>>>import time
>>>time.time()
1515117751.8810253
2. ctime()函數
ctime()
函數可以將一個時間戳轉化為字符串的形式,默認time.time()為參數。(convert time in seconds to string)
實例
>>>import time
>>>time.ctime()
'Fri Jan 5 10:21:29 2018'
>>>time.ctime(1500000000)
'Fri Jul 14 10:40:00 2017'
4.gmtime()函數
gmtime()
用于獲取UTC時間,UTC時間實際就是格林尼治時間,它與中國時間的時差為八個小時。
實例
>>>import time
>>>time.gmtime()
time.struct_time(tm_year=2018, tm_mon=1, tm_mday=5, tm_hour=3, tm_min=27, tm_sec=18, tm_wday=4, tm_yday=5, tm_isdst=0)
5. localtime()函數
localtime()
用于獲取當前時區的當前時間。
實例
>>>import time
>>>time.localtime()
time.struct_time(tm_year=2018, tm_mon=1, tm_mday=5,tm_hour=11, tm_min=28, tm_sec=48, tm_wday=4, tm_yday=5, tm_isdst=0)
6. strftime()函數
strftime()
把一個代表時間的元組或者struct_time(如time.localtime()和time.gmtime()返回)轉化為格式化的時間字符串。如果t未指定,將傳入time.localtime()。
實例
>>> time.strftime("%Y-%m-%d %X")
'2018-01-05 11:20:21'
>>> time.strftime("%Y-%m-%d %H:%M:%S")
'2018-01-05 11:21:30'
>>> time.strftime("%Y-%m-%d %X", time.localtime())
'2018-01-05 11:23:04'
* format time格式化表示*
格式 | 含義 |
---|---|
%Y | 完整的年份 |
%m | 月份(01 - 12) |
%d | 一個月中的第幾天(01 - 31) |
%H | 一天中的第幾個小時(24小時制,00 - 23) |
%M | 分鐘數(00 - 59) |
%S | 秒(01 - 61) |
%X | 本地相應時間 |
%x | 本地相應日期 |
%a | 本地(locale)簡化星期名稱 |
%A | 本地完整星期名稱 |
%b | 本地簡化月份名稱 |
%B | 本地完整月份名稱 |
%c | 本地相應的日期和時間表示 |
%I | 第幾個小時(12小時制,01 - 12) |
%j | 一年中的第幾天(001 - 366) |
%p | 本地am或者pm的相應符 |
%U | 一年中的星期數。(00 - 53星期天是一個星期的開始。) |
%w | 一個星期中的第幾天(0 - 6,0是星期天) |
%W | 和%U基本相同,不同的是%W以星期一為一個星期的開始 |
%y | 去掉世紀的年份(00 - 99) |
%Z | 時區的名字(如果不存在為空字符) |
%% | ‘%’字符 |
注:表中加粗部分為最常用格式
7. strptime()函數
strptime()
把一個格式化時間字符串轉化為struct_time。實際上它和strftime()是逆操作
實例
>>>import time
>>>time.strptime('2018-01-05 10:50:06','%Y-%m-%d %X')
time.struct_time(tm_year=2018,tm_mon=1,tm_mday=5,tm_hour=10,tm_min=50,tm_sec=6, tm_wday=4, tm_yday=5, tm_isdst=-1)
8. mktime()函數
mktime()
可以將struct_time轉換成用時間的浮點數表示
實例
>>> time.mktime(time.gmtime())
1515094387.0
>>> time.mktime(time.localtime())
1515123246.0
9. sleep()函數
線程推遲指定的時間運行,單位為秒。
import time
>>> time.sleep(3) #表示延遲3秒后程序繼續運行
小結:
time模塊中時間表現的格式主要有3種:
1. timestamp 時間戳
2. tuple或者struct_time 時間元組,共有九個元素組
3. formattime格式化字符串
它們之間的轉化如圖所示:
二、datetime模塊
datetime模塊包含一個datetime
類,通過from datetime import datetime
導入的就是datetime
這個類。
常見操作
1. 獲取當前日期
>>> from datetime import datetime
>>> now = datetime.now()
>>> now
datetime.datetime(2018, 1, 5, 16, 2, 47, 929705)
>>> print(now)
2018-01-05 16:02:47.929705
2. 獲取指定日期和時間
>>> from datetime import datetime
>>> dt=datetime(2018, 1, 1, 1, 1)
>>> print(dt)
2018-01-01 01:01:00
3. datetime類型轉換為timestamp
只需要簡單調用timestamp()方法
>>> from datetime import datetime
>>> dt=datetime(2018, 1, 1, 1, 1)
>>> dt.timestamp()
1514739660.0
4. timestamp轉換為datetime
使用datetime提供的fromtimestamp()方法
>>> from datetime import datetime
>>> t = 1514739660.0
>>> print(datetime.fromtimestamp(t))
2018-01-01 01:01:00
5. str轉換為datetime
當日期和時間為字符串時,需要把str轉換為datetime,可通過datetime.strptime()實現。
>>> from datetime import datetime
>>> dt= datetime.strptime('2018-1-1 1:11:11', '%Y-%m-%d %H:%M:%S')
>>> print(dt)
2018-01-01 01:11:11
6. datetime轉換為str
如果已經有了datetime對象,要把它格式化為字符串顯示給用戶,就需要轉換為str,轉換方法是通過strftime()實現的。
>>> from datetime import datetime
>>> now = datetime.now()
>>> now
datetime.datetime(2018, 1, 5, 16, 22, 50, 394736)
>>> now.strftime('%Y-%m-%d %H:%M:%S')
'2018-01-05 16:22:50'
7. datetime加減
對日期和時間進行加減需要導入timedelta這個類
>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2018, 1, 5, 16, 22, 50, 394736)
>>> now + timedelta(hours=10)
datetime.datetime(2018, 1, 6, 2, 22, 50, 394736)
>>> now - timedelta(days=10)
datetime.datetime(2017, 12, 26, 16, 22, 50, 394736)
>>> now + timedelta(days=10, hours=12)
datetime.datetime(2018, 1, 16, 4, 22, 50, 394736)
小結
datetime模塊定義了5個類:
序號 | 類 | 含義 |
---|---|---|
1 | datetime.datetime | 表示日期時間的類 |
2 | datetime.timedelta | 表示時間間隔,即兩個時間點的間隔 |
3 | datetime.date | 表示日期的類 |
4 | datetime.time | 表示時間的類 |
5 | datetime.tzinfo | 時區的相關信息 |
本文主要介紹了datetime.datetime和datetime.timedelta這兩個類的常見操作。
本文參考如下:
智能推薦
python3的time模塊和datetime模塊
time模塊 在Python中,通常有這幾種方式來表示時間:1)時間戳 2)格式化的時間字符串 3)元組(struct_time)共九個元素。由于Python的time模塊實現主要調用C庫,所以各個平臺可能有所不同。 UTC(Coordinated Universal Time)即格林威治天文時間,為世界標準時間。中國北京為UTC+8。 DST(Daylight Saving Time)即夏令時。...
pandas學習筆記----分別用time和datetime模塊創建時間序列
從當前時間開始 直接看代碼吧: @@@注:strftime(’%Y-%m-%d %H:%M:%S’)確定時間和日期顯示格式,這個方法在time和datetime兩個模塊中的用法是相同的。 輸出: 從指定時間開始: 也可以從指定時間開始: 輸出: 從當前時間之前或之后的一段時間開始: 輸出:...
python—時間模塊(time模塊,datetime模塊)
文件的時間戳 系統中文件存在三個時間戳: atime:文件內容最后一次被訪問的時間戳 mtime:文件內容最后一次被修改的時間戳 ctime:文件內容或者屬性最后一次被修改的時間戳 stat 文件名稱 #查看文件的時間戳 touch 文件名稱 #同時修改文件的三個時間戳 python 中獲取文件的時間戳 import os #必須先導入os模塊 os.path.getatime(’/p...
Python編程:time和datetime時間模塊詳解
說明: 綠色線條:timestamp -> datetime對象路徑 橙色線條:datetime對象 -> timestamp路徑 灰色線條:time模塊 與 datetime模塊 分界過渡 時間的四個存在方式 時間戳,float 元組形式, struct_time 字符串形式,str 時間對象 datetime, date, time 代碼實例 導入模塊 一、時間的獲取 二、時間的計...
猜你喜歡
Python學習【第十二篇】time & datetime模塊
1.概述 程序設計開發過程中,往往存在很多場景,需要把時間和日期以某種特定形式格式化輸出,在python中我們需要借助time & datetime模塊來實現,今天就來一探這兩大模塊的究竟。 2.time模塊 2.1 時間表現形式 time模塊中時間表現的格式主要有三種: a、timestamp時間戳,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量 b、st...
模塊: 時間模塊 time 和 datetime包
1 時間模塊優先掌握的操作 一、 Time包 時間分為三種格式: 1、時間戳:從1970年到現在經過的秒數 作用:用于時間間隔的計算 2、按照某種格式顯示的時間:2020-03-30 11:11:11 作用:用于展示時間 二、 datetime包(結構化時間,同localtime) import datetime print(datetime.datetime.now()) print(datet...
Python學習筆記 time 模塊
目錄 - 簡述 - 一些術語和約定 - 表示時間的方式 - 常用函數及解析 簡述 time 模塊用于時間的訪問和轉換,它提供了各種與時間相關的函數和幾個類,其中常用的一個類是 struct_time。 盡管此模塊始終可用,但并非所有平臺上都提供所有功能。該模塊中定義的大多數函數都是調用相同名稱的平臺C庫函數。有時,這些函數的語義在平臺之間會有所不同。 一些術語和約定 紀元(...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...