簡體   English   中英

如何格式化日期時間,如“2012-12-11 12:00:00”

[英]How you format date time like “2012-12-11 12:00:00”

現在我的日期時間就像是薄荷

In [134]: mintt
Out[134]: datetime.datetime(2012, 5, 9, 23, 21, 10, 548382, tzinfo=<matplotlib.dates._UTC object at 0x2f805d0>)    

我改變它是這樣的:

In [131]: mintt.isoformat(" ").split(".")[0]
Out[131]: '2012-05-09 23:21:10'

如何刪除分鍾和秒鍾,讓它成為“2012-05-09 23:00:00”?

PS:一開始我使用下面的方法:

In [135]: mintt.strftime('%Y-%m-%d %H:00:00')
Out[135]: '2012-05-09 23:00:00'

但它會引發一個例外,例如'year = 1601是在1900年之前; datetime strftime()方法需要年份> = 1900'

所以我使用isoformat方法

使用datetime.replace()方法。

>>> import datetime
>>> t = datetime.datetime(2012, 5, 9, 23, 21, 10, 548382)
>>> t.replace(minute=0, second=0, microsecond=0).isoformat(' ')
'2012-05-09 23:00:00'

這不會改變t ,它會創建一個新對象。

>>> t
datetime.datetime(2012, 5, 9, 23, 21, 10, 548382) # still has same value

你可以從你原來的時間減去秒和分鍾......

nominsec = mintt - datetime.timedelta(minutes=mintt.minute, seconds=mintt.second)

如果它是一個datetime對象,也許這個?:

>>> dt = datetime.datetime.strptime('2012-05-09 23:00:00','%Y-%m-%d %H:%M:%S')
>>> dt
datetime.datetime(2012, 5, 9, 23, 0)
>>> "{} {}:00:00".format(dt.date(),dt.hour)
'2012-05-09 23:00:00'

暫無
暫無

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

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