欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

場景示例

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

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

需求說明:

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

2.只需要知道目標(biāo)時間即可獲取轉(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ù)庫日期時間字符串
    db_datetime = datetime.strptime(db_datetime_str, '%Y-%m-%d %H:%M:%S')

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

    # 計算時間差
    time_diff = now - db_datetime

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

    # 根據(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小時前"
    elif time_diff < day_diff:
        return f"{time_diff.seconds // 3600}小時前"
    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個月前"
    elif time_diff < year_diff:
        return f"{time_diff.days // 30}個月前"
    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ù)傳的時間格式為:YYYY-MM-DD hh:mm:ss

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

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

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

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

1.獲取時間的基本方法

  • 1.1 time.time()

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

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

time localtime() 函數(shù)類似gmtime(),作用是格式化時間戳為本地的時間, 以時間元祖(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. 格式化時間(基于時間元祖)

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

  • 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中時間日期格式化符號:

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

3. 時間的常用操作

  • 3.1 字符串時間轉(zhuǎn)換為時間戳
t = "2021-03-04 16:30:10"
#將其轉(zhuǎn)換為時間數(shù)組
timeStruct = time.strptime(t, "%Y-%m-%d %H:%M:%S" )
#轉(zhuǎn)換為時間戳:
timeStamp = int (time.mktime(timeStruct))
# print (timeStamp)
# 輸出: 1614846610
  • 3.2 時間戳轉(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 獲得三天前的時間
import time
import datetime
#先獲得時間數(shù)組格式的日期
threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days=3))
#轉(zhuǎn)換為時間戳:
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é)

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

相關(guān)文章

  • Python面向?qū)ο蟪绦蛟O(shè)計之繼承與多繼承用法分析

    Python面向?qū)ο蟪绦蛟O(shè)計之繼承與多繼承用法分析

    這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計之繼承與多繼承用法,結(jié)合實例形式分析了Python繼承與多繼承的簡單定義與使用方法,需要的朋友可以參考下
    2018-07-07
  • 在windows下快速搭建web.py開發(fā)框架方法

    在windows下快速搭建web.py開發(fā)框架方法

    這篇文章主要介紹了在windows下快速搭建web.py開發(fā)框架方法,需要的朋友可以參考下
    2016-04-04
  • 用python畫了個圣誕樹給女朋友

    用python畫了個圣誕樹給女朋友

    大家好,本篇文章主要講的是用python畫了個圣誕樹給女朋友,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 關(guān)于PyTorch中nn.Module類的簡介

    關(guān)于PyTorch中nn.Module類的簡介

    這篇文章主要介紹了關(guān)于PyTorch中nn.Module類的簡介,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • pandas 對日期類型數(shù)據(jù)的處理方法詳解

    pandas 對日期類型數(shù)據(jù)的處理方法詳解

    這篇文章主要介紹了pandas 對日期類型數(shù)據(jù)的處理方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • python pyenv多版本管理工具的使用

    python pyenv多版本管理工具的使用

    這篇文章主要介紹了python pyenv多版本管理工具的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • pyqt添加啟動等待界面的操作

    pyqt添加啟動等待界面的操作

    這篇文章主要介紹了pyqt添加啟動等待界面的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 淺談TensorFlow中讀取圖像數(shù)據(jù)的三種方式

    淺談TensorFlow中讀取圖像數(shù)據(jù)的三種方式

    這篇文章主要介紹了淺談TensorFlow中讀取圖像數(shù)據(jù)的三種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • django框架模板語言使用方法詳解

    django框架模板語言使用方法詳解

    這篇文章主要介紹了django框架模板語言使用方法,結(jié)合實例形式詳細(xì)分析了Django框架常用的模板語言語法與相關(guān)使用技巧,需要的朋友可以參考下
    2019-07-07
  • Python刪除指定目錄下過期文件的2個腳本分享

    Python刪除指定目錄下過期文件的2個腳本分享

    這篇文章主要介紹了Python刪除指定目錄下過期文件2個腳本分享,可以用在如刪除指定日期前的日志文件,需要的朋友可以參考下
    2014-04-04

最新評論