【问题标题】:Get the date a year from today in dd/mm/yyyy format in python在python中以dd/mm/yyyy格式获取从今天起一年的日期
【发布时间】:2017-12-14 22:59:28
【问题描述】:

我试图从今天的日期到一年的日期变成一个变量。 下面是我的代码。

import time
import datetime
today = time.strftime("%m/%d/%Y")
today_format = datetime.datetime.strptime(today, "%m/%d/%Y")
print (today_format)
exp_date = str(today_format + datetime.timedelta(days=365)).split(" ")
exp = exp_date[0]
print (exp)`

上面的代码打印:

2017-12-14 00:00:00
2018-12-14

知道如何让它在 2018 年 12 月 14 日打印吗??

【问题讨论】:

  • 用于减去任何年、月等,请看这里。 stackoverflow.com/questions/5871168/…
  • strptimestrftime 之后没有意义
  • 我会使用 years=1 而不是 days=365,它会更好地处理闰年。
  • @Octopus 你不能使用datetime.timedelta。它只接受天、秒、微秒、毫秒、分钟、小时、周参数
  • @Loïc G. 使用 dateutil.relativedelta

标签: python datetime


【解决方案1】:

使用dateutil.relativedelta包,你可以这样做:

import datetime
from dateutil.relativedelta import relativedelta

one_year_from_now = datetime.datetime.now() + relativedelta(years=1)
date_formated = one_year_from_now.strftime("%d/%m/%Y")
print date_formated

how to install dateutil package

【讨论】:

  • “从今天起一年”通常表示未来一年,而不是过去一年。
【解决方案2】:

尝试使用日期时间模块:

datetime.datetime.today().strftime('%m/%d/%Y')

打印:

'12/14/2017'

【讨论】:

  • 我需要从今天开始以 MM/DD/YYYY 格式而不是 MM-DD-YYYY 格式输出一年的日期。 UI 抛出 MM-DD-YYYY 格式的错误。
  • 使用这个代码:datetime.datetime.today().strftime('%m/%d/%Y')@Sel_Python
【解决方案3】:

如果你使用熊猫

import pandas as pd
pd.to_datetime('now') + pd.offsets.DateOffset(years=1)

【讨论】:

    猜你喜欢
    • 2015-12-06
    • 1970-01-01
    • 2010-09-07
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    • 2011-09-09
    相关资源
    最近更新 更多