【问题标题】:How to add month to a Datetime object? [closed]如何将月份添加到 Datetime 对象? [关闭]
【发布时间】:2014-02-10 06:30:12
【问题描述】:

我想给 DateTime 对象加一个月,但这个对象格式是“dd/MM/yyyy” 当我增加一个月时,它增加了一天,但这不是我所需要的。

这里是代码。

DateTime installmentdate = baseDate.AddMonths(1);

假设 baseDate 是 10/2/2014,当我添加一个月至今它变成 10/3/2014 请建议我怎么做。

【问题讨论】:

  • 请显示不符合您要求的代码。 .AddMonths() 是这样做的方法;也许你一开始就解析错了?
  • 当我们增加一个月时,它会增加1天
  • 3 月 10 日是 2 月 10 日之后的一个月,有什么问题吗?

标签: c# date


【解决方案1】:

您可以更改日期格式,然后应用 .AddMonths() 方法。

DateTime installmentDate=Convert.toDateTime(baseDate.tostring("MM/dd/yyyy")).AddMonths(1);

【讨论】:

  • 为什么要转换DateTime -> string -> DateTime,不需要
【解决方案2】:

你的代码是正确的,你的日期格式是dd/MM/yyyy,加一个月

 dd/MM/yyyy
 10/02/2014

成为

 dd/MM/yyyy
 10/03/2014

您可以根据需要将格式更改为MM/dd/yyyy

【讨论】:

    【解决方案3】:

    DateTime 没有任何格式,您需要使用MM\dd\yyyy 的字符串表示格式来控制显示它的格式。

    .AddMonths 完全按照它所说的那样做,所以DateTime installmentdate = baseDate.AddMonths(1); 是正确的方法,DateTime 增加了 1 个月分配给installmentdate

    你只需要格式化显示installmentdate的部分

    【讨论】:

      【解决方案4】:

      你的代码没有问题,只是baseDate的解析有问题,

      您的baseDate 计算应该类似于,

          CultureInfo provider = CultureInfo.InvariantCulture;
          DateTime baseDate = DateTime.ParseExact(yourDateInString, "dd/MM/yyyy", provider);
      

      然后你可以继续上面的代码,即

      DateTime installmentdate = baseDate.AddMonths(1);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-20
        • 2020-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-15
        • 1970-01-01
        相关资源
        最近更新 更多