asp 日期相减,答案符合要求就追加分数,在线等

来源:百度知道 编辑:UC知道 时间:2024/05/18 08:53:59
在数据库里存的是出生年月,怎么样能够计算出他今年有多大了?
一楼说的这种方法,我之前用过,但不知为什么不管生日写哪一年的,得到的数总是102.

谢谢各位了,不过都没有一个答案是最正确的,我在写生日的时候忘记加双引号了。

eg.
asp: 年龄 = datediff("yyyy",生日,date())
sql: select datediff('yyyy',生日,now()) from 表

select datediff(year,'1983-10-19',getdate())
偶今年24岁...嘿嘿

应该没错的啊

DateDiff 函数
返回两个日期之间的时间间隔。

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

DateDiff 计算两个日期相差的天数,或者当天到当年最后一天之间的星期数。

要计算 date1 和 date2 相差的天数,可以使用“一年的日数”(“y”)或“日”(“d”)。当 interval 为“一周的日数”(“w”)时,DateDiff 返回两个日期之间的星期数。如果 date1 是星期一,则 DateDiff 计算到 date2 之前星期一的数目。此结果包含 date2 而不包含 date1。如果 interval 是“周”(“ww”),则 DateDiff 函数返回日历表中两个日期之间的星期数。函数计算 date1 和 date2 之间星期日的数目。如果 date2 是星期日,DateDiff 将计算 date2,但即使 date1 是星期日,也不会计算 date1。

如果 date1 晚于 date2,则 DateDiff 函数返回负数。

如果 date1 或 date2 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date1 或 date2 被包括在引号 (" ") 中并且省略年份,则在代码中每次计算 date1 或 date2 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。

在 interval 为“年”(“yyyy”)时,比较 12 月 31 日和来年的 1 月 1 日,虽然实际上只相差一天,DateDiff 返回 1 表