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

python如何標(biāo)準(zhǔn)化日期時(shí)間格式轉(zhuǎn)化成非標(biāo)準(zhǔn)化格式

 更新時(shí)間:2024年06月21日 16:46:04   作者:夠力小哥  
這篇文章主要介紹了python如何標(biāo)準(zhǔn)化日期時(shí)間格式轉(zhuǎn)化成非標(biāo)準(zhǔn)化格式問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python標(biāo)準(zhǔn)化日期時(shí)間格式轉(zhuǎn)化成非標(biāo)準(zhǔn)化格式

場景示例

1.朋友圈里好友發(fā)布的動(dòng)態(tài)帖子時(shí)間顯示為:XX天前,XX月前,剛剛,X年前...

2.聊天消息上面顯示的日期格式:剛剛,X分鐘前...

需求說明:

1.要求將類似于2024-03-05 18:00:00這樣的時(shí)間結(jié)合當(dāng)前時(shí)間轉(zhuǎn)化成1天前這樣的格式。

2.只需要知道目標(biāo)時(shí)間即可獲取轉(zhuǎn)化結(jié)果,如YYYY-MM-DD hh:mm:ss轉(zhuǎn)成XXXX

廢話不多說,直接代碼演示:

from datetime import datetime, timedelta


def humanize_datetime(db_datetime_str):
    # 解析數(shù)據(jù)庫日期時(shí)間字符串
    db_datetime = datetime.strptime(db_datetime_str, '%Y-%m-%d %H:%M:%S')

    # 獲取當(dāng)前時(shí)間
    now = datetime.now()

    # 計(jì)算時(shí)間差
    time_diff = now - db_datetime

    # 定義時(shí)間單位的閾值
    minute_diff = timedelta(minutes=1)
    hour_diff = timedelta(hours=1)
    day_diff = timedelta(days=1)
    month_diff = timedelta(days=30)  # 假設(shè)一個(gè)月平均30天
    year_diff = timedelta(days=365)  # 假設(shè)一年365天

    # 根據(jù)時(shí)間差計(jì)算描述
    if time_diff < minute_diff:
        return "剛剛"
    elif time_diff < 2 * minute_diff:
        return "1分鐘前"
    elif time_diff < hour_diff:
        return f"{time_diff.seconds // 60}分鐘前"
    elif time_diff < 2 * hour_diff:
        return "1小時(shí)前"
    elif time_diff < day_diff:
        return f"{time_diff.seconds // 3600}小時(shí)前"
    elif time_diff < 2 * day_diff:
        return "昨天"
    elif time_diff < month_diff:
        return f"{time_diff.days // 7}周前"
    elif time_diff < 2 * month_diff:
        return "1個(gè)月前"
    elif time_diff < year_diff:
        return f"{time_diff.days // 30}個(gè)月前"
    elif time_diff < 2 * year_diff:
        return "半年前"
    else:
        return db_datetime.strftime('%Y-%m-%d %H:%M:%S')


# 示例使用
# db_datetime = "2024-03-04 16:30:00"
# print(humanize_datetime(db_datetime))

代碼說明:

1.以上代碼中引入的包是python自帶的

2.該函數(shù)傳的時(shí)間格式為:YYYY-MM-DD hh:mm:ss

3.根據(jù)時(shí)間差計(jì)算可以衍生出許多情況的表達(dá)形式,以上只是作為示例

4.代碼最后有使用演示,全部copy到項(xiàng)目跑一次就OK了!

Python時(shí)間標(biāo)準(zhǔn)化問題

Python中日期格式化是非常常見的操作,Python 中能用很多方式處理日期和時(shí)間,轉(zhuǎn)換日期格式是一個(gè)常見的功能。

1.獲取時(shí)間的基本方法

  • 1.1 time.time()

time time() 函數(shù)返回當(dāng)前時(shí)間的時(shí)間戳(1970紀(jì) 元后經(jīng)過的浮點(diǎn)秒數(shù))。通常來說,時(shí)間戳表示的是從 1970 年 1 月 1 日 00:00:00 開始按秒計(jì)算的偏移量。

import time
timeStamp = time.time()
# print(current_time) 
# 輸出: 1614846609.368156
  • 1.2 time.localtime()

time localtime() 函數(shù)類似gmtime(),作用是格式化時(shí)間戳為本地的時(shí)間, 以時(shí)間元祖(struct_time)的形式返回。

import time
struct_time = time.localtime()
# print(struct_time) 
# 輸出: time.struct_time(tm_year=2021, tm_mon=3, tm_mday=4, tm_hour=16, tm_min=30, tm_sec=10, tm_wday=3, tm_yday=63, tm_isdst=0)
  • 1.3 datetime.datetime.now()
import datetime
data_time = datetime.datetime.now()
# print(data_time)
# 輸出: 2021-03-04 16:30:10.000000

2. 格式化時(shí)間(基于時(shí)間元祖)

下面我們對 struct_time = time.localtime() 獲取的時(shí)間元祖形式的時(shí)間進(jìn)行格式化.

  • 2.1 time.asctime()
format_time_1 = time.asctime(struct_time)
# print(format_time_1)
# 輸出: Thu Mar  4 16:30:10 2021
  • 2.2 time.strftime()
format_time_2 = time.strftime("%Y-%m-%d %H:%M:%S", struct_time) 
# print(format_time_2)
# 輸出: 2021-03-04 16:30:10

python中時(shí)間日期格式化符號:

%y 兩位數(shù)的年份表示(00-99)
%Y 四位數(shù)的年份表示(000-9999)
%m 月份(01-12)
%d 月內(nèi)中的一天(0-31)
%H 24小時(shí)制小時(shí)數(shù)(0-23)
%I 12小時(shí)制小時(shí)數(shù)(01-12)
%M 分鐘數(shù)(00=59)
%S 秒(00-59)

3. 時(shí)間的常用操作

  • 3.1 字符串時(shí)間轉(zhuǎn)換為時(shí)間戳
t = "2021-03-04 16:30:10"
#將其轉(zhuǎn)換為時(shí)間數(shù)組
timeStruct = time.strptime(t, "%Y-%m-%d %H:%M:%S" )
#轉(zhuǎn)換為時(shí)間戳:
timeStamp = int (time.mktime(timeStruct))
# print (timeStamp)
# 輸出: 1614846610
  • 3.2 時(shí)間戳轉(zhuǎn)換為指定格式日期
timeStamp = 1614846610
localTime = time.localtime(timeStamp)
strTime = time.strftime( "%Y-%m-%d %H:%M:%S" , localTime)
print (strTime)
# 輸出: 2021-03-04 16:30:10
  • 3.3 獲得三天前的時(shí)間
import time
import datetime
#先獲得時(shí)間數(shù)組格式的日期
threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days=3))
#轉(zhuǎn)換為時(shí)間戳:
timeStamp = int(time.mktime(threeDayAgo.timetuple()))
#轉(zhuǎn)換為其他字符串格式:
strTime = threeDayAgo.strftime( "%Y-%m-%d %H:%M:%S" )
# print (strTime)
# 輸出: 2021-03-01 16:30:10

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python利用有道翻譯實(shí)現(xiàn)

    python利用有道翻譯實(shí)現(xiàn)"語言翻譯器"的功能實(shí)例

    小編就為大家分享一篇python利用有道翻譯實(shí)現(xiàn)"語言翻譯器"的功能實(shí)例。具有比較好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • pandas 對每一列數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化的方法

    pandas 對每一列數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化的方法

    今天小編就為大家分享一篇pandas 對每一列數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python?pycharm安裝第三方包失敗(使用pip安裝失敗)的解決方案

    python?pycharm安裝第三方包失敗(使用pip安裝失敗)的解決方案

    這篇文章主要給大家介紹了關(guān)于python?pycharm安裝第三方包失敗(使用pip安裝失敗)的解決方案,文中將可能遇到的幾種情況都進(jìn)行了分析并給出了詳細(xì)的解決方案,需要的朋友可以參考下
    2023-11-11
  • 使用Python創(chuàng)建本地HTTP服務(wù)器實(shí)現(xiàn)與外部系統(tǒng)數(shù)據(jù)對接的全過程

    使用Python創(chuàng)建本地HTTP服務(wù)器實(shí)現(xiàn)與外部系統(tǒng)數(shù)據(jù)對接的全過程

    在Python 3.10中創(chuàng)建一個(gè)能夠處理GET和POST請求的本地HTTP服務(wù)器,并提供一個(gè)默認(rèn)的 index.html 頁面是完全可行的,本文我將提供一個(gè)實(shí)現(xiàn)方案,它包含一個(gè)自定義的請求處理器,并會(huì)說明如何創(chuàng)建?index.html?文件,需要的朋友可以參考下
    2025-09-09
  • 關(guān)于python安裝第三方庫的問題與解決方案

    關(guān)于python安裝第三方庫的問題與解決方案

    Python開發(fā)中經(jīng)常遇到第三方庫安裝困難的問題,速度慢可以使用國內(nèi)鏡像如清華鏡像加速,若遇到wheel錯(cuò)誤,可以手動(dòng)下載whl文件進(jìn)行安裝,對于找不到的包,可以嘗試在Python的官方包發(fā)布網(wǎng)站上進(jìn)行搜索和下載,本文提供了具體的解決方案和操作步驟
    2024-10-10
  • 用Python解數(shù)獨(dú)的方法示例

    用Python解數(shù)獨(dú)的方法示例

    這篇文章主要介紹了用Python解數(shù)獨(dú)的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • python實(shí)現(xiàn)在pickling的時(shí)候壓縮的方法

    python實(shí)現(xiàn)在pickling的時(shí)候壓縮的方法

    這篇文章主要介紹了python實(shí)現(xiàn)在pickling的時(shí)候壓縮的方法,比較具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-09-09
  • Pytorch可視化之Visdom使用實(shí)例

    Pytorch可視化之Visdom使用實(shí)例

    Visdom 是一個(gè)專門用于 PyTorch 的交互式可視化工具,可以對實(shí)時(shí)數(shù)據(jù)進(jìn)行豐富的可視化,幫助我們實(shí)時(shí)監(jiān)控在遠(yuǎn)程服務(wù)器上進(jìn)行的科學(xué)實(shí)驗(yàn),這篇文章主要給大家介紹了關(guān)于Pytorch可視化之Visdom使用的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • python 類的繼承 實(shí)例方法.靜態(tài)方法.類方法的代碼解析

    python 類的繼承 實(shí)例方法.靜態(tài)方法.類方法的代碼解析

    這篇文章主要介紹了python 類的繼承 實(shí)例方法.靜態(tài)方法.類方法的代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 使用Python檢測文章抄襲及去重算法原理解析

    使用Python檢測文章抄襲及去重算法原理解析

    文章去重(或叫網(wǎng)頁去重)是根據(jù)文章(或網(wǎng)頁)的文字內(nèi)容來判斷多個(gè)文章之間是否重復(fù)。這篇文章主要介紹了用Python寫了個(gè)檢測文章抄襲,詳談去重算法原理,需要的朋友可以參考下
    2019-06-06

最新評論

开江县| 木兰县| 遂宁市| 宜君县| 宁晋县| 梓潼县| 曲靖市| 盐池县| 马关县| 龙井市| 桦南县| 武平县| 公主岭市| 江北区| 扶沟县| 兴国县| 买车| 扎赉特旗| 维西| 苍梧县| 永新县| 泾阳县| 宁远县| 上饶市| 岚皋县| 长乐市| 于田县| 江陵县| 沽源县| 建宁县| 新邵县| 墨竹工卡县| 汉阴县| 奉贤区| 上栗县| 麟游县| 靖远县| 孝义市| 双峰县| 高要市| 武宣县|