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

Python中的時間與日期處理技巧分享

 更新時間:2025年04月14日 09:42:31   作者:花小姐的春天  
在Python的世界里,時間也很有個性,格式多種多樣、時區(qū)坑多如山、轉(zhuǎn)換容易讓人頭禿……但別擔(dān)心,今天我們就來聊聊Python中的時間與日期處理,讓你從時間小白變成時間大師,需要的朋友可以參考下

時間這東西,最神奇的地方就在于——它從來不等人!就像你說好5分鐘后起床,結(jié)果一睜眼發(fā)現(xiàn)已經(jīng)是中午了;或者老板讓你統(tǒng)計個Excel報表,你想著"一會兒就搞定",結(jié)果時間一晃,天都黑了。

在Python的世界里,時間也很有個性,格式多種多樣、時區(qū)坑多如山、轉(zhuǎn)換容易讓人頭禿,但別擔(dān)心,今天我們就來聊聊Python中的時間與日期處理,讓你從時間小白變成時間大師!

1. 先來個簡單的“時間基礎(chǔ)操作”

如果你是Python初學(xué)者,那你肯定會用到datetime模塊。讓我們從最簡單的創(chuàng)建和輸出時間開始。

獲取當(dāng)前時間

import datetime
now = datetime.datetime.now()
print(now)

這段代碼簡單明了,datetime.now()會返回當(dāng)前的日期和時間。例如:

2025-03-19 12:30:45.678901

當(dāng)然,你也可以自定義格式來輸出時間。

格式化輸出

formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time)

這段代碼使用strftime方法來格式化日期和時間。常見的格式化代碼包括:

格式符含義
%Y四位年份(2025)
%m月份(01-12)
%d日期(01-31)
%H小時(00-23)
%M分鐘(00-59)
%S秒(00-59)

輸出結(jié)果類似:

2025-03-19 12:30:45

這是不是比原始的時間輸出看起來更加整潔了?

2. 從字符串轉(zhuǎn)換為日期對象

假如你從文件或者用戶輸入中獲取到一個時間字符串,那該怎么把它轉(zhuǎn)成Python中的日期對象呢?別擔(dān)心,這個問題簡單得很,strptime方法來幫忙。

time_str = "2025-03-19 12:30:45"
time_obj = datetime.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")
print(time_obj)

這里,strptime方法會根據(jù)你提供的格式化字符串,將時間字符串轉(zhuǎn)化為一個datetime對象。轉(zhuǎn)換后的結(jié)果會是一個標(biāo)準的日期時間對象,可以繼續(xù)進行各種操作。

3. 時間加減操作

獲取未來或者過去的時間

有時候你可能需要獲取一個日期的前幾天或后幾天的時間。例如,假設(shè)今天是2025年3月19日,你想知道7天后的日期。通過timedelta,這可以輕松做到。

today = datetime.datetime.now()
delta = datetime.timedelta(days=7)
future_date = today + delta
print(future_date)

輸出結(jié)果:

2025-03-26 12:30:45.678901

同樣,你也可以做日期的減法,得到過去的某個日期。

past_date = today - delta
print(past_date)

輸出結(jié)果:

2025-03-12 12:30:45.678901

4. 處理時區(qū)和夏令時

大家可能知道,處理時區(qū)有點麻煩,因為不同的時區(qū)之間會有時差。而且,夏令時(DST)會讓你頭疼不已。比如說,北京時間與紐約時間的差異就會隨著夏令時的變化而有所不同。怎么處理這些問題呢?答案就是pytz庫。

安裝pytz庫

pip install pytz

設(shè)置時區(qū)

import pytz
now = datetime.datetime.now(pytz.timezone("Asia/Shanghai"))
print(now)

ny_time = datetime.datetime.now(pytz.timezone("America/New_York"))
print(ny_time)

通過pytz,你可以設(shè)置時區(qū),并且正確處理夏令時的轉(zhuǎn)換。如果你正在做涉及全球用戶的應(yīng)用,這個庫真的能幫你避免不少麻煩。

5. 處理日期范圍

有時候我們需要生成一個日期范圍,比如從2025年1月1日到2025年1月10日。這個可以用date_range來輕松搞定。

import pandas as pd
date_range = pd.date_range(start="2025-01-01", end="2025-01-10")
print(date_range)

輸出的結(jié)果是一個日期范圍:

DatetimeIndex(['2025-01-01', '2025-01-02', '2025-01-03', '2025-01-04',
               '2025-01-05', '2025-01-06', '2025-01-07', '2025-01-08',
               '2025-01-09', '2025-01-10'],
              dtype='datetime64[ns]', freq='D')

非常適合用來生成日志時間戳、安排任務(wù)等。

6. 不常見但實用的時間操作

獲取一周的第幾天

now = datetime.datetime.now()
weekday = now.weekday()  # 周一是0,周日是6
print(f"今天是星期{weekday + 1}")

這段代碼會返回今天是星期幾,輸出類似“今天是星期3”。

獲取月份的天數(shù)

import calendar
year, month = 2025, 2
days_in_month = calendar.monthrange(year, month)[1]
print(f"{year}年{month}月有 {days_in_month} 天")

這段代碼會返回某年的某個月有多少天,比如:“2025年2月有 28 天”

獲取某個月的第一天和最后一天

from datetime import date
first_day = date(year, month, 1)
last_day = date(year, month, days_in_month)
print(first_day, last_day)

獲取當(dāng)前時間戳

如果你需要一個時間戳(自1970年1月1日以來的秒數(shù)),可以使用timestamp()

timestamp = datetime.datetime.now().timestamp()
print(timestamp)

轉(zhuǎn)換為UTC時間

如果你需要將本地時間轉(zhuǎn)為UTC時間:

now_utc = datetime.datetime.now(pytz.utc)
print(now_utc)

判斷某年是否是閏年

def is_leap_year(year):
    return calendar.isleap(year)

print(is_leap_year(2024))  # True(閏年)
print(is_leap_year(2025))  # False(平年)

計算兩個日期之間的工作日天數(shù)

import numpy as np
start_date = datetime.date(2025, 3, 1)
end_date = datetime.date(2025, 3, 10)
workdays = np.busday_count(start_date.strftime('%Y-%m-%d'), end_date.strftime('%Y-%m-%d'))
print(f"工作日天數(shù): {workdays}")

小結(jié)

今天,我們通過一些簡單又實用的代碼,了解了如何在Python中處理時間和日期。雖然時間和日期看起來是一塊很基礎(chǔ)的內(nèi)容,但細節(jié)處理起來可真是個大坑,尤其是時區(qū)、夏令時等問題。所以,掌握這些基本技巧,不僅能讓你的代碼更精確,還能避免很多因時間錯誤而引發(fā)的麻煩。

以上就是Python中的時間與日期處理技巧分享的詳細內(nèi)容,更多關(guān)于Python時間與日期處理的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解如何用Python模擬登錄淘寶

    詳解如何用Python模擬登錄淘寶

    最近想爬取淘寶的一些商品,但是發(fā)現(xiàn)如果要使用搜索等一些功能時基本都需要登錄,所以就想出一篇模擬登錄淘寶的文章!本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • python之http請求模擬器(tk)使用及說明

    python之http請求模擬器(tk)使用及說明

    文章總結(jié)了使用Python和Tkinter創(chuàng)建一個HTTP請求模擬器的經(jīng)驗,提供了代碼示例,并鼓勵讀者參考和支持腳本之家
    2026-01-01
  • Python實現(xiàn)專業(yè)級字符串清理技術(shù)的完全指南

    Python實現(xiàn)專業(yè)級字符串清理技術(shù)的完全指南

    在數(shù)據(jù)處理領(lǐng)域,超過80%的時間都花在數(shù)據(jù)清洗上,而字符串凈化是其中最關(guān)鍵的一環(huán),本文將系統(tǒng)解析Python字符串凈化技術(shù)體系,希望對大家有所幫助
    2025-08-08
  • Python中識別圖片/滑塊驗證碼準確率極高的ddddocr庫詳解

    Python中識別圖片/滑塊驗證碼準確率極高的ddddocr庫詳解

    驗證碼的種類有很多,它是常用的一種反爬手段,包括:圖片驗證碼,滑塊驗證碼,等一些常見的驗證碼場景。這里推薦一個簡單實用的識別驗證碼的庫?ddddocr?(帶帶弟弟ocr)庫,希望大家喜歡
    2023-02-02
  • Pandas進行周期與時間戳轉(zhuǎn)換的方法

    Pandas進行周期與時間戳轉(zhuǎn)換的方法

    本教程將深入講解如何在 pandas 中使用 to_period() 和 to_timestamp() 方法,完成時間戳與周期之間的轉(zhuǎn)換,并結(jié)合實際應(yīng)用場景展示這些方法的使用,感興趣的朋友一起看看吧
    2025-05-05
  • python如何查看安裝了的模塊

    python如何查看安裝了的模塊

    在本篇文章里小編給大家分享的是一篇關(guān)于python查看安裝了的模塊的方法,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • python 中的collections.OrderedDict() 用法

    python 中的collections.OrderedDict() 用法

    這篇文章主要介紹了python 中的collections.OrderedDict() 用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python連接HDFS實現(xiàn)文件上傳下載及Pandas轉(zhuǎn)換文本文件到CSV操作

    Python連接HDFS實現(xiàn)文件上傳下載及Pandas轉(zhuǎn)換文本文件到CSV操作

    這篇文章主要介紹了Python連接HDFS實現(xiàn)文件上傳下載及Pandas轉(zhuǎn)換文本文件到CSV操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python解析多幀dicom數(shù)據(jù)詳解

    Python解析多幀dicom數(shù)據(jù)詳解

    今天小編就為大家分享一篇Python解析多幀dicom數(shù)據(jù)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 使用Python提取文本中含有特定字符串的方法示例

    使用Python提取文本中含有特定字符串的方法示例

    這篇文章主要給大家介紹了關(guān)于如何使用Python提取文本中含有特定字符串的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論

平度市| 于都县| 饶河县| 宜兰市| 桂阳县| 祁连县| 杭锦后旗| 凤庆县| 兴山县| 青铜峡市| 故城县| 弥勒县| 蚌埠市| 都安| 石狮市| 聂拉木县| 栾城县| 盐城市| 利川市| 五峰| 鄂伦春自治旗| 陈巴尔虎旗| 吕梁市| 东安县| 新宁县| 澄江县| 海盐县| 汶上县| 英德市| 阳东县| 华蓥市| 吴堡县| 竹北市| 广水市| 彭泽县| 金昌市| 兴宁市| 蓝山县| 玉门市| 新丰县| 营口市|