Pyd*_*man 238 python datetime python-2.7 python-datetime
我正在使用:
str(datetime.datetime.today()).split()[0]
Run Code Online (Sandbox Code Playgroud)
以YYYY-MM-DD的形式返回今天的日期.
是否有一种不那么粗暴的方法来实现这一目标
die*_*us9 431
你可以使用strftime:
from datetime import datetime
datetime.today().strftime('%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)
kmo*_*oor 86
甚至比接受的答案更简单; 适用于Python 2和3.
from datetime import date
today = str(date.today())
print(today) # '2017-12-26'
Run Code Online (Sandbox Code Playgroud)
Bil*_*ell 35
如果你喜欢记住有趣的代码,日期时间是可爱的.你不喜欢简单吗?
>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'
Run Code Online (Sandbox Code Playgroud)
这个模块足够聪明,可以理解你的意思.
做吧pip install arrow
.
小智 19
我总是使用这个isoformat()
功能.
from datetime import date
today = date.today().isoformat()
print(today) # '2018-12-05'
Run Code Online (Sandbox Code Playgroud)
请注意,如果您还需要标准格式的时间,这也适用于日期时间对象.
from datetime import datetime
now = datetime.today().isoformat()
print(now) # '2018-12-05T11:15:55.126382'
Run Code Online (Sandbox Code Playgroud)
Ped*_*ito 18
很晚的答案,但您可以简单地使用:
import time
today = time.strftime("%Y-%m-%d")
# 2021-05-02
Run Code Online (Sandbox Code Playgroud)
小智 12
from datetime import datetime
date = datetime.today().date()
print(date)
Run Code Online (Sandbox Code Playgroud)
如果您需要例如太平洋标准时间(PST),您可以这样做
from datetime import datetime
import pytz
tz = pytz.timezone('US/Pacific')
datetime.now(tz).strftime('%Y-%m-%d %H:%M:%S')
# '2021-09-02 10:21:41'
Run Code Online (Sandbox Code Playgroud)
使用 f 字符串,它们通常是任何文本变量混合的最佳选择:
from datetime import date
print(f'{date.today():%Y-%m-%d}')
Run Code Online (Sandbox Code Playgroud)
取自Python f-string 格式,不适用于 strftime inline,它也有官方链接。
其他答案建议使用python's datetime.datetime
,但正如@Bill Bell所说,还有其他库提供了更简单的datetime
接口,这些接口既可以作为服务,也可以作为更大的API生态系统的一部分。这里有两个这样的库使工作变得datetimes
非常简单。
您可以pd.to_datetime
从pandas库中使用。这里有各种选项,具体取决于您要返回的内容。
import pandas as pd
pd.to_datetime('today') # pd.to_datetime('now')
# Timestamp('2019-03-27 00:00:10.958567')
Run Code Online (Sandbox Code Playgroud)
作为python datetime对象,
pd.to_datetime('today').to_pydatetime()
# datetime.datetime(2019, 4, 18, 3, 50, 42, 587629)
Run Code Online (Sandbox Code Playgroud)
作为格式化的日期字符串,
pd.to_datetime('today').isoformat()
# '2019-04-18T04:03:32.493337'
# Or, `strftime` for custom formats.
pd.to_datetime('today').strftime('%Y-%m-%d')
# '2019-03-27'
Run Code Online (Sandbox Code Playgroud)
要仅从时间戳记中获取日期,请致电Timestamp.date
。
pd.to_datetime('today').date()
# datetime.date(2019, 3, 27)
Run Code Online (Sandbox Code Playgroud)
除了to_datetime
,您还可以Timestamp
使用实例化对象,
pd.Timestamp('today') # pd.Timestamp('now')
# Timestamp('2019-04-18 03:43:33.233093')
pd.Timestamp('today').to_pydatetime()
# datetime.datetime(2019, 4, 18, 3, 53, 46, 220068)
Run Code Online (Sandbox Code Playgroud)
如果要使您的时间戳记时区知道,请将时区传递给tz
参数。
pd.Timestamp('now', tz='America/Los_Angeles')
# Timestamp('2019-04-18 03:59:02.647819-0700', tz='America/Los_Angeles')
Run Code Online (Sandbox Code Playgroud)
如果您使用摆锤,则有一些有趣的选择。您可以使用来获取当前时间戳记now()
或使用来获取今天的日期today()
。
import pendulum
pendulum.now()
# DateTime(2019, 3, 27, 0, 2, 41, 452264, tzinfo=Timezone('America/Los_Angeles'))
pendulum.today()
# DateTime(2019, 3, 27, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))
Run Code Online (Sandbox Code Playgroud)
此外,您也可以直接获取tomorrow()
或yesterday()
的日期,而无需执行任何其他的timedelta算法。
pendulum.yesterday()
# DateTime(2019, 3, 26, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))
pendulum.tomorrow()
# DateTime(2019, 3, 28, 0, 0, 0, tzinfo=Timezone('America/Los_Angeles'))
Run Code Online (Sandbox Code Playgroud)
有各种可用的格式化选项。
pendulum.now().to_date_string()
# '2019-03-27'
pendulum.now().to_formatted_date_string()
# 'Mar 27, 2019'
pendulum.now().to_day_datetime_string()
# 'Wed, Mar 27, 2019 12:04 AM'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
328230 次 |
最近记录: |