如何让两个date相加减?

cushat 2004-12-28 05:23:29
例如
dim a as date ="2004-12-31 23:24:25"
dim b as date ="0000-00-00 00:00:35"
我想让a-b 应该如何做?
...全文
163 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Shanks_YH 2004-12-28
  • 打赏
  • 举报
回复
DATEDIFF 函数计算指定的两个日期中第二个日期与第一个日期之间各日期部分相差的时间量。换句话说,它得出两个日期之间的间隔。结果是等于 date2 - date1 的带符号整数值,以各日期部分为单位。

下面的查询使用日期 1995 年 11 月 30 日,并得出 pubdate 和该日期之间相差的天数。

USE pubs
SELECT DATEDIFF(day, pubdate, 'Nov 30 1995')
FROM titles

对于 titles 中 pubdate 为 1995 年 10 月 21 日的行,上述查询生成的结果为 40。(10 月 21 日和 11 月 30 日之间相差 40 天。)要计算以月为单位的间隔,请使用以下查询:

USE pubs
SELECT interval = DATEDIFF(month, pubdate, 'Nov 30 1995')
FROM titles

该查询对 pubdate 值在 10 月的行生成的值为 1,对 pubdate 值在 6 月的行生成的值为 5。

若 DATEDIFF 函数中的第一个日期晚于指定的第二个日期,则产生的结果为负数。由于 titles 中有两行使用 GETDATE 函数指派 pubdate 的值,所以这些值被设置为 pubs 数据库的创建日期,这样在前面的两个查询中这两行返回负数。

如果一个或两个日期参数是 smalldatetime 值,它们将在内部转换为 datetime 值进行计算。为了进行计算,smalldatetime 值中的秒和毫秒将自动设置为 0。

lxw2100 2004-12-28
  • 打赏
  • 举报
回复
DateDiff("d", a, b)
hlq8210 2004-12-28
  • 打赏
  • 举报
回复
datediff(yyyy,NewDate,OldDate)年差
datediff(mm,NewDate,OldDate)月差
.........................依次类推
xavier 2004-12-28
  • 打赏
  • 举报
回复
datediff();
Paradise_heida 2004-12-28
  • 打赏
  • 举报
回复
Dim d1 As Date = New Date(2004, 12, 31, 23, 24, 25)
Dim d2 As Date = New Date(2001, 1, 2, 0, 0, 35)

年月日必须要求是日期格式,Date(0, 0, 0, 0, 0, 0)这样肯定不行。

Paradise_heida 2004-12-28
  • 打赏
  • 举报
回复
Dim d1 As Date = New Date(2004, 12, 31, 23, 24, 25)
Dim d2 As Date = New Date(0, 0, 0, 0, 0, 0)

Dim m As TimeSpan = New TimeSpan(d1.Ticks - d2.Ticks)
'Console.WriteLine(m.Days)

MessageBox.Show(m.Days.ToString) '天数差
MessageBox.Show(m.Hours.ToString) '小时数差
MessageBox.Show(m.Minutes.ToString) '分钟数差
MessageBox.Show(m.Seconds.ToString) '秒钟数差

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧