【发布时间】:2011-02-09 03:19:19
【问题描述】:
我有一个日期(例如:2010-04-17)我需要从该日期起 20 天后的日期 如何在 20 天后获取日期,即下个月某个日期。
在 sql 或 c# 中
【问题讨论】:
标签: c# asp.net sql datetime date
我有一个日期(例如:2010-04-17)我需要从该日期起 20 天后的日期 如何在 20 天后获取日期,即下个月某个日期。
在 sql 或 c# 中
【问题讨论】:
标签: c# asp.net sql datetime date
这在 C# 中很简单
DateTime date = new DateTime(2010, 04, 17);
DateTime newDate = date.AddDays(20);
您可以用任何对您来说最简单的方式构造原始日期变量,然后使用 AddDays 方法创建一个新变量(或更新现有变量),该日期为任意天后的日期。
【讨论】:
在 C# 中,您使用 AddDays 方法:
DateTime someDate = new DateTime(2010, 4, 17);
DateTime later = someDate.AddDays(20);
在 SQL 中,您将使用一些日期操作函数,该函数特定于 SQL 的不同方言。例如,在 MS SQL Server 中,您将使用 dateadd 函数:
dateadd(day, 20, someDate)
【讨论】:
如果日期已经是 DateTime 对象,则可以调用
var nextDate = myDate.AddDays(20);
如果是字符串,则需要先将其转换为日期时间:
var myDate = DateTime.Parse("2010-04-17");
var nextDate = myDate.AddDays(20);
请注意,AddDays 方法返回一个新的 DateTime,它不会在原始 DateTime 中添加天数。
【讨论】:
T-SQL:DATEADD(DAY, 20, thedate)
C#:DateTime.Add()
【讨论】:
甲骨文:
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;
分享和享受。
【讨论】: