在python中以特定格式获取日期
我必须在python中获得从今天开始大约一个月前的日期。 结果字符串的格式应为在python中以特定格式获取日期,python,date,Python,Date,我必须在python中获得从今天开始大约一个月前的日期。 结果字符串的格式应为yyyy/mm/dd 日期必须是近似的,因此可以避免考虑闰年之类的事情(或者也可以合并easy) 我已经为上述问题编写了以下代码 from datetime import date tup=list(date.today().timetuple()[0:3]) if (tup[1]==1): tup[1]=12 tup[0]-=1 else: tup[1]-=1 if tup[1]==2:
yyyy/mm/dd
日期必须是近似的,因此可以避免考虑闰年之类的事情(或者也可以合并easy)
我已经为上述问题编写了以下代码
from datetime import date
tup=list(date.today().timetuple()[0:3])
if (tup[1]==1):
tup[1]=12
tup[0]-=1
else:
tup[1]-=1
if tup[1]==2:
tup[2]=min(28,tup[2])
else if tup[1] in [4,6,9,11]:
tup[2]=min(30,tup[2])
print '/'.join([str(x) for x in tup])
有没有更优雅的方法来解决上述问题???您可以将
datetime
类与timedelta
函数结合使用
>>> (now + relativedelta(months=-1)).strftime('%Y/%m/%d')
'2014/06/29'
i、 e
然后,要格式化:
from datetime import datetime
dt = datetime.strftime(d, "%Y/%m/%d")
>>> print dt
2014/06/29
您可以将
datetime
类与timedelta
函数结合使用
>>> (now + relativedelta(months=-1)).strftime('%Y/%m/%d')
'2014/06/29'
i、 e
然后,要格式化:
from datetime import datetime
dt = datetime.strftime(d, "%Y/%m/%d")
>>> print dt
2014/06/29
只是一个使用第三方软件包的替代解决方案,名为:
只是一个使用第三方软件包的替代解决方案,名为: 您也可以使用DateUtil的函数来实现此功能。与alecxe的库一样,它可以适当地处理一个月中的几天和闰年 如果没有DateUtil库,请首先安装该库
pip install python-dateutil
然后你可以这样利用它:
>>> import datetime
>>> from dateutil.relativedelta import relativedelta
>>> now = datetime.datetime.today()
>>> now + relativedelta(months=1)
datetime.datetime(2014, 8, 29, 0, 32, 51, 843000)
>>> now + relativedelta(months=-1)
datetime.datetime(2014, 6, 29, 0, 32, 51, 843000)
最后,要格式化它,您需要使用函数
>>> (now + relativedelta(months=-1)).strftime('%Y/%m/%d')
'2014/06/29'
您也可以使用DateUtil的函数来实现此功能。与alecxe的库一样,它可以适当地处理一个月中的几天和闰年
如果没有DateUtil库,请首先安装该库
pip install python-dateutil
然后你可以这样利用它:
>>> import datetime
>>> from dateutil.relativedelta import relativedelta
>>> now = datetime.datetime.today()
>>> now + relativedelta(months=1)
datetime.datetime(2014, 8, 29, 0, 32, 51, 843000)
>>> now + relativedelta(months=-1)
datetime.datetime(2014, 6, 29, 0, 32, 51, 843000)
最后,要格式化它,您需要使用函数
>>> (now + relativedelta(months=-1)).strftime('%Y/%m/%d')
'2014/06/29'
datetime是此处的正确模块
import datetime
datetime.datetime.now().strftime("%H:%M:%S.%f")
希望这有帮助。这里的datetime是正确的模块
import datetime
datetime.datetime.now().strftime("%H:%M:%S.%f")
希望这有帮助。在服务器上使用第三方软件包会增加额外开销吗?在服务器上使用第三方软件包会增加额外开销吗?