簡體   English   中英

在python中更改日期時間格式

[英]change datetime format in python

我從我的數據庫中以這種格式獲取這個日期時間。

2016-09-13T08:46:59.953948+00:00

我想將此日期更改為類似的格式

13 sep 2016 08:46:59

我使用過 datetime 模塊,例如

import datetime
datetime.datetime.strptime(2016-09-13T08:46:59.953948+00:00, 'changing format')

但它給出了錯誤

TypeError at /admin/help
must be string, not datetime.datetime

如果您不關心時區和毫秒,您可以嘗試以下功能:

from datetime import datetime

def parse_db_time_string(time_string):
    date = datetime.strptime(time_string.split('.')[0], '%Y-%m-%dT%H:%M:%S')
    return datetime.strftime(date, '%d %b %Y %H:%M:%S')

您可以使用 db 字符串調用該函數,然后就像這樣:

old_time_string = '2016-09-13T08:46:59.953948+00:00'
new_time_string = parse_db_time_string(old_time_string)

通過導入 Datetime 和 Arrow,您可以將其轉換為您需要的格式。 Arrow 是一個用於格式化日期和時間的 Python 庫。

import arrow
import datetime

today = arrow.utcnow().to('Asia/Calcutta').format('YYYY-MM-DD HH:mm:ss')
'2016-09-13 15:57:38'

current_date = datetime.datetime.strptime(today, "%Y-%m-%d %H:%M:%S").strftime('%d-%B-%Y %H:%M:%S')
'13-September-2016 15:57:38'

了解更多關於 Arrow https://micropyramid.com/blog/python-arrow-to-show-human-friendly-time/

您可以使用

import datetime
# n is your time as shown in example
your_time = n.strftime("%d/%m/%y %H:%M:%S") 

在嘗試制作人類可讀的格式時,我推薦django humanize

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM