【问题标题】:i have a date (eg: 2010-04-17 ) i need the date of after 20 days from this date我有一个日期(例如:2010-04-17)我需要从该日期起 20 天后的日期
【发布时间】:2011-02-09 03:19:19
【问题描述】:

我有一个日期(例如:2010-04-17)我需要从该日期起 20 天后的日期 如何在 20 天后获取日期,即下个月某个日期。

在 sql 或 c# 中

【问题讨论】:

    标签: c# asp.net sql datetime date


    【解决方案1】:

    这在 C# 中很简单

                DateTime date = new DateTime(2010, 04, 17);
                DateTime newDate = date.AddDays(20);
    

    您可以用任何对您来说最简单的方式构造原始日期变量,然后使用 AddDays 方法创建一个新变量(或更新现有变量),该日期为任意天后的日期。

    【讨论】:

    • 你应该把它设置为答案!
    【解决方案2】:

    在 C# 中,您使用 AddDays 方法:

    DateTime someDate = new DateTime(2010, 4, 17);
    DateTime later = someDate.AddDays(20);
    

    在 SQL 中,您将使用一些日期操作函数,该函数特定于 SQL 的不同方言。例如,在 MS SQL Server 中,您将使用 dateadd 函数:

    dateadd(day, 20, someDate)
    

    【讨论】:

      【解决方案3】:

      如果日期已经是 DateTime 对象,则可以调用

      var nextDate = myDate.AddDays(20);
      

      如果是字符串,则需要先将其转换为日期时间:

      var myDate = DateTime.Parse("2010-04-17");
      var nextDate = myDate.AddDays(20);
      

      请注意,AddDays 方法返回一个新的 DateTime,它不会在原始 DateTime 中添加天数。

      【讨论】:

        【解决方案4】:

        T-SQL:DATEADD(DAY, 20, thedate)

        C#:DateTime.Add()

        【讨论】:

          【解决方案5】:

          甲骨文:

          SELECT DATE_COLUMN + INTERVAL '20' DAY FROM MY_TABLE;
          

          SELECT DATE_COLUMN + 20 FROM MY_TABLE;
          

          PL/SQL:

          BEGIN
            dtMy_date  DATE;
          
            SELECT DATE_COLUMN INTO dtMy_date FROM MY_TABLE;
          
            dtMy_date := dtMy_date + INTERVAL '20' DAY;
            -- or
            dtMy_date := dtMy_date + 20;
          END;
          

          分享和享受。

          【讨论】:

            猜你喜欢
            • 2023-01-19
            • 1970-01-01
            • 1970-01-01
            • 2018-09-09
            • 2014-11-01
            • 2020-05-03
            • 2018-10-12
            • 2023-03-08
            • 1970-01-01
            相关资源
            最近更新 更多