【问题标题】:Subtract 1 year from datetime从日期时间减去 1 年
【发布时间】:2011-02-14 04:07:47
【问题描述】:

我已经看到很多关于如何从另一个日期时间中减去一个日期时间以及如何在一个日期时间上添加年份的信息。但是下面的内容让我很头疼....

当用户插入一条记录时,一个名为 subdate 且值为 datetime.now 的隐藏字段会添加到数据库中。

然后我需要一个“旧记录”页面,列出所有超过 1 年的条目,并希望使用类似的东西(但使用减法);

(DateTime.Now.AddYears(1))

但没有可用的 SubtractYears?为什么?

请告诉我我是如何达到相同结果的?

【问题讨论】:

    标签: asp.net vb.net datetime date subtraction


    【解决方案1】:
    DateTime.Now.AddYears(-1)
    

    来自documentation

    几年。 value 参数可以是负数或正数。

    【讨论】:

    • 它总是简单的事情:)
    • 相信它:就是这样。一个简单问题的简单解决方案……程序员的梦想。
    • 它还简化了年龄检查(尽管没有计算年龄),因为您可以测试 DateTime.Now.AddYears(-18) >birthDate,例如。
    【解决方案2】:
    now = datetime.now()
    last_year = (now.year - 1)
    datestr = (datetime.strptime(str(now.year - 1), "%Y")).strftime("%y")
    print(f"Last Year: {datestr}")
    

    输出将是:

    去年:20

    如果您更喜欢四位数年份,请将 %y 更改为 %Y

    【讨论】:

      猜你喜欢
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      • 1970-01-01
      相关资源
      最近更新 更多