最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python將字符串轉(zhuǎn)換為datetime對象的五種方法

 更新時間:2025年07月04日 10:46:21   作者:1010n111  
在Python編程中,我們經(jīng)常會遇到需要將字符串形式的日期和時間轉(zhuǎn)換為datetime對象的情況,例如,從文件、數(shù)據(jù)庫或網(wǎng)絡(luò)接口中獲取的數(shù)據(jù)通常是以字符串形式存在的,使用datetime對象會更加方便,所以本文給大家總結(jié)Python將字符串轉(zhuǎn)換為datetime對象的五種方法

Python將字符串轉(zhuǎn)換為datetime對象

技術(shù)背景

在Python編程中,我們經(jīng)常會遇到需要將字符串形式的日期和時間轉(zhuǎn)換為datetime對象的情況。例如,從文件、數(shù)據(jù)庫或網(wǎng)絡(luò)接口中獲取的數(shù)據(jù)通常是以字符串形式存在的,而在進行日期和時間的計算、比較等操作時,使用datetime對象會更加方便。

實現(xiàn)步驟

1. 使用datetime.strptime方法

datetime.strptime可以根據(jù)指定的格式將字符串解析為datetime對象。示例代碼如下:

from datetime import datetime
datetime.strptime('Jun 1 2005  1:33PM', '%b %d %Y %I:%M%p')

這里,'%b %d %Y %I:%M%p'是日期字符串的格式,各個部分的含義如下:

  • %b:月份的縮寫名稱,如Jun
  • %d:月份中的日期,以零填充的十進制數(shù)表示,如01
  • %Y:帶世紀的年份,如2005
  • %I:12小時制的小時,以零填充的十進制數(shù)表示,如01
  • %M:分鐘,以零填充的十進制數(shù)表示,如33
  • %p:本地的上午或下午等價物,如PM

2. 使用dateutil.parser模塊

dateutil是一個第三方庫,parser.parse方法可以自動識別大多數(shù)日期格式。首先需要安裝該庫:

pip install python-dateutil

然后使用以下代碼進行轉(zhuǎn)換:

from dateutil import parser
parser.parse("Aug 28 1999 12:00AM")

3. 使用time.strptime和datetime.fromtimestamp

time.strptime可以將字符串解析為time.struct_time對象,然后使用datetime.fromtimestamp將其轉(zhuǎn)換為datetime對象。示例代碼如下:

import time
from datetime import datetime
my_time = time.strptime('Jun 1 2005  1:33PM', '%b %d %Y %I:%M%p')
timestamp = time.mktime(my_time)
my_datetime = datetime.fromtimestamp(timestamp)

4. Python 3.7+ 使用datetime.fromisoformat

如果字符串是ISO 8601格式,可以使用datetime.fromisoformat進行轉(zhuǎn)換:

from datetime import datetime
date_string = "2012-12-12 10:10:10"
print(datetime.fromisoformat(date_string))

5. 使用pandas庫

pandas庫提供了to_datetime方法,可以方便地將字符串列表轉(zhuǎn)換為datetime對象列表。示例代碼如下:

import pandas as pd
datetimes = ['Jun 1 2005  1:33PM', 'Aug 28 1999 12:00AM']
pd.to_datetime(datetimes).to_pydatetime().tolist()

核心代碼

以下是幾種方法的完整代碼示例:

# 使用datetime.strptime
from datetime import datetime
date_str = 'Jun 1 2005  1:33PM'
dt1 = datetime.strptime(date_str, '%b %d %Y %I:%M%p')
print(dt1)

# 使用dateutil.parser
from dateutil import parser
dt2 = parser.parse(date_str)
print(dt2)

# 使用time.strptime和datetime.fromtimestamp
import time
from datetime import datetime
my_time = time.strptime(date_str, '%b %d %Y %I:%M%p')
timestamp = time.mktime(my_time)
dt3 = datetime.fromtimestamp(timestamp)
print(dt3)

# 使用datetime.fromisoformat
from datetime import datetime
iso_date_str = "2012-12-12 10:10:10"
dt4 = datetime.fromisoformat(iso_date_str)
print(dt4)

# 使用pandas
import pandas as pd
datetimes = ['Jun 1 2005  1:33PM', 'Aug 28 1999 12:00AM']
dt5 = pd.to_datetime(datetimes).to_pydatetime().tolist()
print(dt5)

最佳實踐

  • 明確日期格式:如果已知日期字符串的格式,使用datetime.strptime是最快且最準(zhǔn)確的方法。
  • 處理多種格式:如果日期字符串的格式不確定,可以使用dateutil.parser自動識別。
  • 性能考慮:對于大量數(shù)據(jù)的處理,pandasto_datetime方法通常具有更好的性能。

常見問題

  • strptime在非英語環(huán)境下可能失敗'%b', '%p'等格式說明符可能在非英語環(huán)境下無法正常工作,可以通過設(shè)置合適的locale來解決。
  • dateutil.parser性能問題:對于大量數(shù)據(jù)的處理,dateutil.parser的自動格式識別可能會導(dǎo)致性能下降。
  • datetime.fromisoformat的局限性:該方法只能處理特定的ISO 8601格式,對于其他格式的字符串無效。

以上就是Python將字符串轉(zhuǎn)換為datetime對象的五種方法的詳細內(nèi)容,更多關(guān)于Python字符串轉(zhuǎn)datetime對象的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中pypdf庫處理PDF文件的詳細說明和常見用法

    Python中pypdf庫處理PDF文件的詳細說明和常見用法

    這篇文章主要介紹了Python中pypdf庫處理PDF文件的詳細說明和常見用法,?pypdf是Python庫,用于處理PDF文件,支持讀取、修改、合并、拆分、加密等操作,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-05-05
  • Python3顯示當(dāng)前時間、計算時間差及時間加減法示例代碼

    Python3顯示當(dāng)前時間、計算時間差及時間加減法示例代碼

    這篇文章主要給大家介紹了關(guān)于Python3顯示當(dāng)前時間、計算時間差及時間加減法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Python3具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Pandas中GroupBy具體用法詳解

    Pandas中GroupBy具體用法詳解

    pandas中的DF數(shù)據(jù)類型可以像數(shù)據(jù)庫表格一樣進行g(shù)roupby操作。通常來說groupby操作可以分為三部分:分割數(shù)據(jù),應(yīng)用變換和和合并數(shù)據(jù)。本文就詳細的來介紹一下,感興趣的可以了解一下
    2021-07-07
  • Python腳本實現(xiàn)安全清空不同操作系統(tǒng)回收站

    Python腳本實現(xiàn)安全清空不同操作系統(tǒng)回收站

    在Python中,使用os.remove()或shutil.rmtree()是無法清空系統(tǒng)回收站的,下面小編就和大家詳細介紹一下如何通過Python腳本安全地清空不同操作系統(tǒng)(Windows/macOS/Linux)的回收站吧
    2026-03-03
  • 手動安裝python3.6的操作過程詳解

    手動安裝python3.6的操作過程詳解

    這篇文章主要介紹了如何手動安裝python3.6,本文給大家?guī)砹税惭b步驟,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • Python編寫車票訂購系統(tǒng)?Python實現(xiàn)快遞收費系統(tǒng)

    Python編寫車票訂購系統(tǒng)?Python實現(xiàn)快遞收費系統(tǒng)

    這篇文章主要為大家詳細介紹了Python編寫車票訂購系統(tǒng),Python實現(xiàn)快遞收費系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Python數(shù)據(jù)分析之獲取雙色球歷史信息的方法示例

    Python數(shù)據(jù)分析之獲取雙色球歷史信息的方法示例

    這篇文章主要介紹了Python數(shù)據(jù)分析之獲取雙色球歷史信息的方法,涉及Python網(wǎng)頁抓取、正則匹配、文件讀寫及數(shù)值運算等相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • 使用PyQt實現(xiàn)簡易文本編輯器

    使用PyQt實現(xiàn)簡易文本編輯器

    這篇文章主要為大家詳細介紹了如何使用PyQt5框架構(gòu)建一個簡單的文本編輯器,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • python中執(zhí)行smtplib失敗的處理方法

    python中執(zhí)行smtplib失敗的處理方法

    在本篇文章里小編給大家整理了關(guān)于python中執(zhí)行smtplib失敗的處理方法,對此有需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • 對Python w和w+權(quán)限的區(qū)別詳解

    對Python w和w+權(quán)限的區(qū)別詳解

    今天小編就為大家分享一篇對Python w和w+權(quán)限的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論

石景山区| 博乐市| 深州市| 凤翔县| 剑阁县| 宝鸡市| 临沭县| 玉树县| 常州市| 崇仁县| 桑植县| 永春县| 岳普湖县| 罗源县| 承德市| 楚雄市| 黄冈市| 申扎县| 永川市| 四川省| 莎车县| 拉萨市| 云南省| 公主岭市| 阳高县| 修武县| 吉木萨尔县| 道孚县| 涪陵区| 清徐县| 冷水江市| 会东县| 河源市| 拜城县| 长治市| 兴国县| 桂林市| 乌鲁木齐县| 河东区| 松桃| 喀喇|