搜尋
首頁後端開發Python教學Python中的time模組與datetime模組

time模組

time模組是包含各方面對時間操作的函數. 儘管這些常常有效但不是所有方法在任意平台中有效.time 用struct_time表示時間

import time

# time.struct_time(tm_year=2015, tm_mon=4, tm_mday=24, 
          tm_hour=14, tm_min=17, tm_sec=26, 
          tm_wday=4, tm_yday=114, tm_isdst=0)
# 2015
print time.localtime()
print time.localtime().tm_year

函數

  • #time.time(): 傳回一個時間戳

  • time.asctime([t]): 轉換gmtime()和localtime()傳回的元組或struct_time為string.

  • time.clock(): 在第一次呼叫的時候, 傳回程式運行的時間. 第二次之後傳回與先前的間隔.

  • ##time.ctime([secs]) : 將時間戳轉換為時間字串, 如沒有提供則傳回目前的時間字串,並與asctime(localtime())一樣.

  • time.gmtime([secs] ): 將時間戳轉換為, UTC 時區的struct_time.

  • time.localtime([secs]): 類似gmtime()但會把他轉換成本地時區.

  • time.mktime(t): struct_time 轉換為時間戳記.

  • time.sleep(secs): 執行緒延後指定時間, 以秒為單位.

  • time.strftime(format[,t]): 依照參數轉換一個sturc_time或元組為字串.

  • 時間. strptime(string[, format]): 與strftime相反,傳回一個struct_time.

import time

# Fri Apr 24 06:39:34 2015
print time.asctime(time.gmtime())

# 0.0
# None
# 1.01136392961 因计算机而异
print time.clock()
print time.sleep(1)
print time.clock()

# Fri Apr 24 14:42:07 2015
print time.ctime()

# 2015-04-24
print time.strftime('%Y-%m-%d', time.localtime())
# 1429857836.0
print time.mktime(time.localtime())

time模組中常用的格式化字串

  • %y 兩位數的年份00 ~ 99.

  • %Y 四位數的年份0000 ~ 9999

  • %m 月份01 ~ 12.

  • %d 天 01 ~ 31.

  • #%H 時00 ~ 23.

  • %I 時01 ~ 12.

  • %M 分00 ~ 59.

  • %S 秒00 ~ 61.

#datetime模組
datetime模組提供對於日期和時間進行簡單或複雜的操作. datetime 模組提供了一下的可用類型(Available Types).

datetime.MINYEAR 和datetime.MAXYEAR 模組常數表示datetime接受的範圍

  • #class datetime.date: 一個理想化的日期, 提供year, month, day屬性

  • class datetime.time: 一個理想化的時間, 提供hour, minute, second, microsecond, tzinfo.

  • class datetime.datetime: 日期和時間的組合.提供year, month, day, hour, minute, second, microsecond, tzinfo.

  • ##class datetime.timedelta: 表達兩個date,time和datetime持續時間內的微妙差異.

  • class datetime.tzinfo: 時間物件的抽象基類別.

from datetime import timedelta, datetime

a = datetime.now()
b = timedelta(days=7)

# 7 days, 0:00:00
# 2015-04-14 16:02:39.189000
print b
print a - b

下面說具體說一下類別和類別的方法

date類別

一個date物件代表理想化的日期.

  class datetime.date(year, month, day)
    # All arguments are required. Arguments may be ints or longs.
    # 所有参数都是必须的. 参数可能是 int 或 long.
    MINYEAR <= year <= MAXYEAR
    1<= month <= 12
    1<= day <= number of days in the given month and year.(随着月份和年份)

如果參數脫離給的範圍會拋出, valueError.

1.類別方法>`date.today()`:傳回目前的本機日期, 這等價於`date.fromtimestamp(time.time())`.

Return the current local date. This is equvalent to `date.fromtimestamp(time.time())`.

  from datetime import date

  # print 2015-04-21
  print date.today()

2.date.fromtimestamp(timestamp):根據提供的時間戳返回local date. 時間戳常用於對時間類型的存儲.

import time
from datetime import date

# 1429587111.21
# 2015-04-21
print time.time()
print date.fromtimestamp(time.time())

3.類別方法date.fromordinal(ordinal):根據提供的Gregorian日曆回傳date.(不做描述)

類別屬性

  • date.min: 傳回date(MINYEAR, 1, 1).

  • #date.max: 返回date(MAXYEAR, 12, 31).

  • date.year: 返回年度, MINYEAR與MAXYEAR之間

  • #date.month: 返回月, 1到12月之間

  • #date.day: 返回1到n 之間.

d = date(2014, 4, 21)
# 2014 4 21
print d.year, d.month, d.day

實例方法

  • date.replace(year, month, day):傳回相同值的data物件, 除了這些參數給關鍵字指定新的值.

  • date.timetuple(): 傳回一個time.struct_time物件.

  • date.toordinal (): 回傳一個Gregoian Calendar物件.

  • date.weekday(): 返回day of the week. 星期一為0,星期日為6.

  • #date.isoweekday(): 返回day of the week. 星期一為1,星期日為7.

  • date.isocalendar(): 傳回一個三元組, ( ISO year, ISO week number, ISO weekday).

  • date.isoformat(): 傳回一個'YYYY-MM-DD'的字串格式.

  • date.ctime(): 傳回字串日期, d.ctime() 等同於time.ctime(time.mktime(d.timetuple())).

  • #date.strftime(format): 傳回一個字串日期, 格式自訂.

#

d = date(2015, 4, 21)

# 2015-04-21
# 2015-04-21
# 2015-04-22
print d
print d.replace()
print d.replace(day=22)

# time.struct_time(tm_year=2015, tm_mon=4, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=111, tm_isdst=-1)
print d.timetuple()

# print 1
# print 2
print d.weekday()
print d.isoweekday()

# print 2015-04-21
print d.isoformat()

# print 21/04/2015
print d.strftime(&#39;%d/%m/%y&#39;)

datetime 類別

datetime 物件是一個單一的物件, 包含所有date和time物件的資訊.

class datetime.datetime(year, month, day[, hour
                    [, minute
                    [, second
                    [, microsecond
                    [, tzinfo]]]]])
  # The year, month and day arguments are required.
  MINYEAR <= year <= MAXYEAR
  1 <= month <= 12
  1 <= day <= n
  0 <= hour < 24
  0 <= minute < 60
  0 <= second < 60
  0 <= microsecond < 10**6

類別方法

  • datetime.today(): 傳回目前本機datetime.隨著tzinfo None. 這個等同於datetime.fromtimestamp(time.time()).

  • datetime.now([tz]): 返回当前本地日期和时间, 如果可选参数tz为None或没有详细说明,这个方法会像today().

  • datetime.utcnow(): 返回当前的UTC日期和时间, 如果tzinfo None ,那么与now()类似.

  • datetime.fromtimestamp(timestamp[, tz]): 根据时间戳返回本地的日期和时间.tz指定时区.

  • datetime.utcfromtimestamp(timestamp): 根据时间戳返回 UTC datetime.

  • datetime.fromordinal(ordinal): 根据Gregorian ordinal 返回datetime.

  • datetime.combine(date, time): 根据date和time返回一个新的datetime.

  • datetime.strptime(date_string, format): 根据date_string和format返回一个datetime.

from datetime import datetime

# 2015-04-21 14:07:39.262000
print datetime.today()

# 2015-04-21 14:08:20.362000
print datetime.now()

# 1429596607.06
# 2015-04-21 14:10:07.061000
t = time.time() 
print t
print datetime.fromtimestamp(t)

from datetime import datetime, date, time

a = date(2015, 4, 21)
b = time(14, 13, 34)

# 2015-04-21 14:13:34
print datetime.combine(a, b)

实例方法

  • datetime.date(): 返回相同年月日的date对象.

  • datetime.time(): 返回相同时分秒微秒的time对象.

  • datetime.replace(kw): kw in [year, month, day, hour, minute, second, microsecond, tzinfo], 与date类似.

其他方法可查看官方文档…

from datetime import datetime, date, time

td = date(2015, 4, 21)
n = time(14, 28, 30)

# 2099-04-21 14:30:42.103000
print datetime.now(0.replace(year=2099)

类属性

  • datetime.min: datetime(MINYEAR, 1, 1).

  • datetime.max: datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999).

实例属性(read-only)

  • datetime.year: 1 至 9999

  • datetime.month: 1 至 12

  • datetime.day: 1 至 n

  • datetime.hour: In range(24). 0 至 23

  • datetime.minute: In range(60).

  • datetime.second: In range(60).

  • datetime.microsecond: In range(1000000).

time类

time 代表本地(一天内)时间.

class datetime.time([hour
          [, minute
          [, second 
          [, microsecond
          [, tzinfo]]]]])
  # All arguments are optional.
  # 所有参数都是可选的.
  0 <= hour < 24
  0 <= minute < 60
  0 <= second < 60
  0 <= microsesond < 10**6

time类就是对时间的一些操作,其功能类似与datetime.其实date和time就是对datetime中日期和时间的操作.

更多Python中的time模块与datetime模块相关文章请关注PHP中文网!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何使用Python查找文本文件的ZIPF分佈如何使用Python查找文本文件的ZIPF分佈Mar 05, 2025 am 09:58 AM

本教程演示如何使用Python處理Zipf定律這一統計概念,並展示Python在處理該定律時讀取和排序大型文本文件的效率。 您可能想知道Zipf分佈這個術語是什麼意思。要理解這個術語,我們首先需要定義Zipf定律。別擔心,我會盡量簡化說明。 Zipf定律 Zipf定律簡單來說就是:在一個大型自然語言語料庫中,最頻繁出現的詞的出現頻率大約是第二頻繁詞的兩倍,是第三頻繁詞的三倍,是第四頻繁詞的四倍,以此類推。 讓我們來看一個例子。如果您查看美國英語的Brown語料庫,您會注意到最頻繁出現的詞是“th

我如何使用美麗的湯來解析HTML?我如何使用美麗的湯來解析HTML?Mar 10, 2025 pm 06:54 PM

本文解釋瞭如何使用美麗的湯庫來解析html。 它詳細介紹了常見方法,例如find(),find_all(),select()和get_text(),以用於數據提取,處理不同的HTML結構和錯誤以及替代方案(SEL)

python中的圖像過濾python中的圖像過濾Mar 03, 2025 am 09:44 AM

處理嘈雜的圖像是一個常見的問題,尤其是手機或低分辨率攝像頭照片。 本教程使用OpenCV探索Python中的圖像過濾技術來解決此問題。 圖像過濾:功能強大的工具圖像過濾器

如何使用Python使用PDF文檔如何使用Python使用PDF文檔Mar 02, 2025 am 09:54 AM

PDF 文件因其跨平台兼容性而廣受歡迎,內容和佈局在不同操作系統、閱讀設備和軟件上保持一致。然而,與 Python 處理純文本文件不同,PDF 文件是二進製文件,結構更複雜,包含字體、顏色和圖像等元素。 幸運的是,借助 Python 的外部模塊,處理 PDF 文件並非難事。本文將使用 PyPDF2 模塊演示如何打開 PDF 文件、打印頁面和提取文本。關於 PDF 文件的創建和編輯,請參考我的另一篇教程。 準備工作 核心在於使用外部模塊 PyPDF2。首先,使用 pip 安裝它: pip 是 P

如何在django應用程序中使用redis緩存如何在django應用程序中使用redis緩存Mar 02, 2025 am 10:10 AM

本教程演示瞭如何利用Redis緩存以提高Python應用程序的性能,特別是在Django框架內。 我們將介紹REDIS安裝,Django配置和性能比較,以突出顯示BENE

如何使用TensorFlow或Pytorch進行深度學習?如何使用TensorFlow或Pytorch進行深度學習?Mar 10, 2025 pm 06:52 PM

本文比較了Tensorflow和Pytorch的深度學習。 它詳細介紹了所涉及的步驟:數據準備,模型構建,培訓,評估和部署。 框架之間的關鍵差異,特別是關於計算刻度的

Python中的平行和並發編程簡介Python中的平行和並發編程簡介Mar 03, 2025 am 10:32 AM

Python是數據科學和處理的最愛,為高性能計算提供了豐富的生態系統。但是,Python中的並行編程提出了獨特的挑戰。本教程探討了這些挑戰,重點是全球解釋

如何在Python中實現自己的數據結構如何在Python中實現自己的數據結構Mar 03, 2025 am 09:28 AM

本教程演示了在Python 3中創建自定義管道數據結構,利用類和操作員超載以增強功能。 管道的靈活性在於它能夠將一系列函數應用於數據集的能力,GE

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器