【问题标题】:how to set date variables in python in different formats?如何以不同格式在python中设置日期变量?
【发布时间】:2020-12-09 20:21:36
【问题描述】:

我的代码从设置这 3 个变量开始

var1 = 'Sep20'
var2 = '2020 09'
var3 = '2020-10-01'

如何编码使 var2 和 var3 是 var1 的函数,这样我只需要设置 1 个变量?我想为 var1 输入一个字符串值并自动计算 var2 和 var3

另一个月份的另一个例子:

var1 = 'Dec20'      # a given month MMM YY
var2 = '2020 12'    # the same month YYYY MM
var3 = '2021-01-01' # the first day of the NEXT month YYYY-MM-DD

【问题讨论】:

标签: python datetime


【解决方案1】:

datetime 可以很好地做到这一点

from datetime import date
from dateutil.relativedelta import relativedelta

d = date(2020, 12, 1)
var1 = d.strftime("%b%y")
var2 = d.strftime("%Y %m")
nextd = d + relativedelta(months=1)
var3 = nextd.strftime("%Y-%m-01")

here for more info about relativedelta,见here for more info about strftime

【讨论】:

  • 我找到了var1var2,但不知道如何到达var3。感谢relativedelta 的提示!
【解决方案2】:

下面的最小示例依赖于 dateutil 包:

from datetime import datetime
from dateutil import relativedelta

def date_func(year, month, day):
    x = datetime(year,month,day)
    first_next_month = x + relativedelta.relativedelta(months=1, day=1)
    
    return [
        x.strftime('%b%y'),
        x.strftime('%Y %m'),
        first_next_month.strftime('%Y-%m-%d')
    ]

【讨论】:

    猜你喜欢
    • 2017-03-09
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    相关资源
    最近更新 更多