0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python中的Time和DateTime說明

冬至子 ? 來源:Ebo Jackson ? 作者:Ebo Jackson ? 2023-06-05 16:51 ? 次閱讀

Python在處理與時(shí)間相關(guān)的操作時(shí)有兩個(gè)重要模塊:time和datetime。在本文中,我們介紹這兩個(gè)模塊并為每個(gè)場(chǎng)景提供帶有代碼和輸出的說明性示例。

time

模塊主要用于處理時(shí)間相關(guān)的操作,例如獲取當(dāng)前時(shí)間、時(shí)間的計(jì)算和格式化等。它提供了一些函數(shù)和常量,包括:

  • time():返回當(dāng)前的時(shí)間戳(自1970年1月1日午夜以來的秒數(shù))。
  • ctime():將一個(gè)時(shí)間戳轉(zhuǎn)換為可讀性更好的字符串表示。
  • gmtime():將一個(gè)時(shí)間戳轉(zhuǎn)換為UTC時(shí)間的struct_time對(duì)象。
  • strftime():將時(shí)間格式化為指定的字符串格式。
datetime

模塊是Python中處理日期和時(shí)間的主要模塊,它提供了日期和時(shí)間的表示和操作的類。主要包括:

  • datetime類:表示一個(gè)具體的日期和時(shí)間,包括年、月、日、時(shí)、分、秒和微秒。
  • date類:表示日期,包括年、月和日。
  • time類:表示時(shí)間,包括時(shí)、分、秒和微秒。
  • timedelta類:表示時(shí)間間隔,例如兩個(gè)日期之間的差異。
  • datetime.now():返回當(dāng)前的日期和時(shí)間。
  • datetime.strptime():將字符串解析為datetime對(duì)象。

我們看看下面你的例子

time 模塊

1、測(cè)量執(zhí)行時(shí)間:

時(shí)間模塊通常用于度量代碼段的執(zhí)行時(shí)間。這在優(yōu)化代碼或比較不同算法的性能時(shí)特別有用。

import time
 
 start_time = time.time()
 
 # Code snippet to measure execution time
 
 end_time = time.time()
 execution_time = end_time - start_time
 
 print("Execution Time:", execution_time, "seconds")
 
 Execution Time: 2.3340916633605957 seconds

2、暫停執(zhí)行

我們可能需要將程序的執(zhí)行暫停一段特定的時(shí)間。time模塊為此提供了sleep()函數(shù)。這里有一個(gè)例子:

import time
 
 print("Hello")
 time.sleep(2)
 print("World!")

3、獲取當(dāng)前時(shí)間

以各種格式獲得當(dāng)前時(shí)間。time()函數(shù)的作用是:返回自Unix紀(jì)元(1970年1月1日)以來的秒數(shù)。

import time
 
 current_time = time.time()
 print("Current Time (seconds since epoch):", current_time)

可以看到,

time

模塊主要用于表示時(shí)間戳(自Unix紀(jì)元以來的秒數(shù))和一些與時(shí)間相關(guān)的基本操作,如睡眠、計(jì)時(shí)等。它提供了獲取當(dāng)前時(shí)間戳的函數(shù)

time()

以及其他一些函數(shù)如

gmtime()

、

localtime()

strftime()

等。

datetime 模塊

1、日期和時(shí)間

datetime模塊提供了datetime、date和time等類來表示和操作日期和時(shí)間。下面是一個(gè)創(chuàng)建datetime對(duì)象的示例:

from datetime import datetime
 
 current_datetime = datetime.now()
 print("Current DateTime:", current_datetime)

2、日期和時(shí)間格式

datetime的strftime()方法可以將日期和時(shí)間格式化為字符串:

from datetime import datetime
 
 current_datetime = datetime.now()
 formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
 print("Formatted DateTime:", formatted_datetime)

3、日期和時(shí)間運(yùn)算操作

datetime模塊提供了對(duì)日期和時(shí)間執(zhí)行算術(shù)運(yùn)算的方法。下面是計(jì)算兩個(gè)datetime對(duì)象之間差異的示例

from datetime import datetime, timedelta
 
 # Create two datetime objects
 start_datetime = datetime(2023, 5, 30, 10, 0, 0)
 end_datetime = datetime(2023, 5, 31, 15, 30, 0)
 
 # Calculate the difference between two datetime objects
 time_difference = end_datetime - start_datetime
 
 print("Time Difference:", time_difference)

4、時(shí)區(qū)轉(zhuǎn)換

使用pytz庫在不同時(shí)區(qū)之間轉(zhuǎn)換datetime對(duì)象。這里有一個(gè)例子:

from datetime import datetime
 import pytz
 
 # Create a datetime object with a specific timezone
 dt = datetime(2023, 5, 31, 10, 0, 0, tzinfo=pytz.timezone('America/New_York'))
 
 # Convert the datetime object to a different timezone
 dt_utc = dt.astimezone(pytz.utc)
 
 print("Datetime in UTC:", dt_utc)
datetime

模塊提供了更多的日期和時(shí)間操作。它包含了

date

、

time

datetime

類,可以創(chuàng)建、表示和操作日期和時(shí)間對(duì)象。這些類提供了各種方法用于處理日期、時(shí)間、日期時(shí)間的比較、運(yùn)算和格式化等操作。例如,你可以使用

datetime.now()

獲取當(dāng)前日期和時(shí)間,使用

date.today()

獲取當(dāng)前日期,還可以進(jìn)行日期的加減運(yùn)算,計(jì)算兩個(gè)日期之間的差異等。

datetime

模塊還提供了

timedelta

類,用于表示時(shí)間間隔。它可以用于在日期和時(shí)間之間進(jìn)行加減運(yùn)算,計(jì)算時(shí)間差等操作。

總結(jié)

Python中的

time

和datetime模塊都提供了處理時(shí)間相關(guān)操作的基本功能。

time

模塊主要用于處理時(shí)間戳和一些基本的時(shí)間操作,而

datetime

模塊提供了更豐富的日期和時(shí)間處理功能,包括日期時(shí)間對(duì)象的創(chuàng)建、比較、運(yùn)算和格式化等。

我們要處理時(shí)間時(shí)可以根據(jù)不同的需求結(jié)合

time

datetime

模塊,有效地處理Python程序中與時(shí)間相關(guān)的任務(wù),從簡(jiǎn)單的時(shí)間測(cè)量到復(fù)雜的日期和時(shí)間操作。如果你只需要表示和處理時(shí)間,使用

time

模塊即可。如果你需要處理日期和時(shí)間,包括進(jìn)行日期計(jì)算、格式化等操作,那么還需要使用

datetime

模塊。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19329

    瀏覽量

    230134
  • UTC
    UTC
    +關(guān)注

    關(guān)注

    1

    文章

    24

    瀏覽量

    14446
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84787
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    labview 創(chuàng)建mysql 表時(shí) 設(shè)置時(shí)間 怎么在mysql是格式是date 而不是datetime

    選擇 時(shí)間日期 但是在mysql是date而不是datetime類型 ,除了sql語句創(chuàng)建表 ,怎么能實(shí)現(xiàn)創(chuàng)建表數(shù)據(jù)為datetime類型
    發(fā)表于 02-04 09:46

    怎樣將labviewdatetime型轉(zhuǎn)成SQL的datetime型?

    一個(gè)測(cè)試的小項(xiàng)目,將測(cè)試的數(shù)據(jù)以時(shí)間先后的方式保存到SQL數(shù)據(jù)庫,并在畫面可選擇時(shí)間段進(jìn)行查詢,現(xiàn)碰到問題是:labview的時(shí)間格式和SQL的時(shí)間格式是不同的,通過字符串轉(zhuǎn)換格式是可以實(shí)現(xiàn)
    發(fā)表于 07-24 10:51

    labview獲取DateTime格式時(shí)間字符串

    數(shù)據(jù)庫時(shí)間的格式為DateTime格式但labview自帶的時(shí)間獲取函數(shù)格式與DateTime格式不對(duì)應(yīng)轉(zhuǎn)換方法為使用 格式化日期/時(shí)間字符串.vi格式化字符為  %Y-%m-%d%H:%M:%S%3u格式化后輸出  2016
    發(fā)表于 08-29 14:43

    Python常用時(shí)間處理操作匯總

    在從事Python相關(guān)工作Python時(shí)間模塊與日常工作密切相關(guān),因此,掌握時(shí)間處理模塊及方法十分重要,以下是相關(guān)內(nèi)容介紹:1.time模塊ti
    發(fā)表于 04-19 14:51

    Linux安裝Python環(huán)境的多版本共存說明

    linux系統(tǒng)環(huán)境自帶python2.6,但有時(shí)我們項(xiàng)目使用的版本可能是3.x以上等等,此時(shí)我們需要在linux再安裝項(xiàng)目所需的python版本,此時(shí)就涉及多版本共存問題了,很多同學(xué)在安裝多個(gè)版本
    發(fā)表于 07-05 06:36

    如何將System.DateTime轉(zhuǎn)換為VEE時(shí)間?

    找不到任何方法來轉(zhuǎn)換為VEE time.Background:我有一個(gè)數(shù)據(jù)庫,我想通過列A探索,它是System.DateTime格式。我想將Math應(yīng)用于此System.DateTime,然后根據(jù)其
    發(fā)表于 08-06 14:40

    比較datetime與傳入的datetime字符串

    親愛的朋友們,我有一個(gè)DATEIME已經(jīng)寫入DS1307。如果我從用戶接收DATETMEAAS字符串,我必須比較UDSDATETMEM和DS1307 DATETIME。時(shí)差可達(dá)±1分鐘。我怎樣才能做到這一點(diǎn)呢?有什么想法嗎?PMK
    發(fā)表于 03-30 09:44

    python程控電源編程相關(guān)資料分享

    # -*- coding: utf-8 -*-#!/usr/bin/python"""Module implementing Watch_MainWindow.
    發(fā)表于 01-03 08:16

    HT49 MCU Time Base(時(shí)基)的使用說明

    HT49 MCU Time Base(時(shí)基)的使用說明本文主要介紹 HT49 系列Time Base(時(shí)基)的使用方法和注意事項(xiàng)簡(jiǎn)單介紹
    發(fā)表于 03-26 08:39 ?20次下載

    Python的時(shí)間操作處理資料總結(jié)

    python處理時(shí)間的模塊有三個(gè),datetime, time,calendar,融匯貫通三個(gè)模塊,才能隨心所欲地用python處理時(shí)間。
    的頭像 發(fā)表于 03-30 10:28 ?2609次閱讀

    如何學(xué)習(xí)Python?Python編程環(huán)境搭建詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何學(xué)習(xí)PythonPython編程環(huán)境搭建詳細(xì)說明。
    發(fā)表于 04-26 08:00 ?25次下載
    如何學(xué)習(xí)<b class='flag-5'>Python</b>?<b class='flag-5'>Python</b>編程環(huán)境搭建詳細(xì)<b class='flag-5'>說明</b>

    使用Python實(shí)現(xiàn)截取路徑的文件名的實(shí)例說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用Python實(shí)現(xiàn)截取路徑的文件名的實(shí)例說明免費(fèi)下載。
    發(fā)表于 10-13 16:52 ?2次下載
    使用<b class='flag-5'>Python</b>實(shí)現(xiàn)截取路徑<b class='flag-5'>中</b>的文件名的實(shí)例<b class='flag-5'>說明</b>

    LinearLabTools:完整的Python安裝說明

    LinearLabTools:完整的Python安裝說明
    發(fā)表于 05-26 21:33 ?8次下載
    LinearLabTools:完整的<b class='flag-5'>Python</b>安裝<b class='flag-5'>說明</b>

    python程控電源編程(2)

    # -*- coding: utf-8 -*-#!/usr/bin/python"""Module implementing Watch_MainWindow. @Author: TOBY
    發(fā)表于 01-12 12:45 ?8次下載
    <b class='flag-5'>python</b>程控電源編程(2)

    介紹Python的日期時(shí)間基礎(chǔ)知識(shí)

    Python,處理日期時(shí)間是一個(gè)很常見的需求。Python提供了強(qiáng)大的日期時(shí)間模塊datetime,可以方便地處理日期時(shí)間相關(guān)的操作。
    的頭像 發(fā)表于 04-21 16:50 ?1488次閱讀