我想以某種格式獲取當前日期時間。有沒有比這更短的東西。較短版本的now()
>>> import datetime
>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
'2013-03-28 08:29:41'
我想以某種格式獲取當前日期時間。有沒有比這更短的東西。較短版本的now()
>>> import datetime
>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
'2013-03-28 08:29:41'
沒有更靈活,沒有。但是你不必總是重複整個調用。例如:
>>> import datetime
>>> now = datetime.datetime.now
>>> now().strftime('%Y-%m-%d %H:%M:%S')
'2013-03-28 08:29:41'
如果你總是希望相同的格式,你可以換行,太:
import datetime
def now_string():
return datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
然後把它存儲在一個字符串中(或者寫一個函數)。 – Amber 2013-03-28 05:36:15
解決了這個問題 – 2013-03-28 05:39:35
只是把它放在一個函數某處
import datetime
def my_now():
return datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
你可以把它與一些可選參數
import datetime
def my_now(the_time=None, fmt='%Y-%m-%d %H:%M:%S'):
if the_time is None:
the_time = datetime.datetime.now()
return the_time.strftime(fmt)
如果這是你想要的,就這樣吧。但是,請不要怪我對這樣的hackish的代碼:-)
>>> import datetime
>>> str(datetime.datetime.now())[:19]
'2013-03-28 15:57:31'
任何字符32 :-)
'str(datetime.datetime.now())。split('。')[0]'是42 ... +1 – dawg 2013-03-28 06:39:38
當你的格式字符串的接近默認的格式,你只需要擺脫微秒:
import datetime
str(datetime.datetime.now().replace(microsecond = 0))
爲什麼?你在寫代碼高爾夫嗎? – 2013-03-28 05:33:58
您可以創建一個函數,而不是每次調用此函數 – JBernardo 2013-03-28 05:34:49
投票以將其關閉作爲其主題。適用於http://codegolf.stackexchange.com/。 – Abhijit 2013-03-28 05:43:54