我使用DateDiff函数
来源:互联网 发布:mac照片流在哪里 编辑:程序博客网 时间:2024/05/21 11:19
最近做的网站项目,多用户,
要求发文章的时候有积分奖励,
修改文章时也有相同奖励。但要求每天修改同一个文章只能奖励一次,不管修改多少次。
我用数据库存储过程来实现此功能
在修改文章的存储过程中:
判断当前时间与其最晚修改时间是否相差一天以上,是的话可以加分,反之不加
用到一个函数:DateDiff("d", 时间1,时间2)
函数介绍:
返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。
语法
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateDiff 函数语法中有下列命名参数:
部分 描述 interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔 Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。 Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。 firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。
设置
interval 参数的设定值如下:
设置 描述 yyyy 年 q 季 m 月 y 一年的日数 d 日 w 一周的日数 ww 周 h 时 n 分钟 s 秒
firstdayofweek 参数的设定值如下:
常数 值 描述 vbUseSystem 0 使用 NLS API 设置。 vbSunday 1 星期日(缺省值) vbMonday 2 星期一 vbTuesday 3 星期二 vbWednesday 4 星期三 vbThursday 5 星期四 vbFriday 6 星期五 vbSaturday 7 星期六
常数 值 描述 vbUseSystem 0 用 NLS API 设置。 vbFirstJan1 1 从包含 1 月 1 日的星期开始(缺省值)。 vbFirstFourDays 2 从第一个其大半个星期在新的一年的一周开始。 vbFirstFullWeek 3 从第一个无跨年度的星期开始。
说明
DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。例如,可以使用 DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。
为了计算 date1 与 date2 相差的日数,可以使用“一年的日数”(y) 或“日”(d)。当 interval 是“一周的日数”(w) 时,DateDiff 返回两日期间的周数。如果 date1 是星期一,DateDiff 计算到 date2 为止的星期一的个数。这个数包含 date2 但不包含 date1。不过,如果 interval 是“周”(ww),则 DateDiff 函数返回两日期间的“日历周”数。由计算 date1 与 date2 之间星期日的个数而得。如果 date2 刚好是星期日,则 date2 也会被加进 DateDiff 的计数结果中;但不论 date1 是否为星期日,都不将它算进去。
如果 date1 比 date2 来得晚,则 DateDiff 函数的返回值为负数。
firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。
如果 date1 或 date2 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date1 或 date2 用双引号 (" ") 括起来,且年份略而不提,则在每次计算表达式 date1 或 date2 时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。
在计算 12 月 31 日和来年的 1 月 1 日的年份差时,DateDiff 返回 1 表示相差一个年份,虽然实际上只相差一天而已。
DateDiff 函数示例
本示例使用 DateDiff 函数来显示某个日期与今日相差几天。
Dim TheDate As Date '
声明变量。Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg
相关基础知识:
命名参数
一参数,在对象库中预先定义了其名称。对每个参数,不必拘泥于语法所规定的特定顺序来提供值,而是只需按任何顺序用命名参数分配值。例如,假设一方法接受了三个参数:
DoSomeThing namedarg1, namedarg2, namedarg3
在对命名参数赋值时,可使用以下语句:
DoSomeThing namedarg3 := 4, namedarg2 := 5, namedarg1 := 20
注意,命名的参数不必按语法中安排的正规顺序出现。
字符串表达式
任何其值为一连串字符的表达式。字符串表达式的元素可包含返回字符串的函数、字符串文字、字符串常数、字符串变量、字符串 Variant 或返回字符串 Variant (VarType 8) 的函数。
字符串表达式
任何其值为一连串字符的表达式。字符串表达式的元素可包含返回字符串的函数、字符串文字、字符串常数、字符串变量、字符串 Variant 或返回字符串 Variant (VarType 8) 的函数。
参数
传递给一个过程的常数、变量或表达式。
日期文字
由数字符号 (#) 所包围的具有有效格式的字符序列。有效的格式包括区域设置中指定的日期格式或国际日期格式。
例如, #12/31/92#
表示 1992 年 12 月 31 日,这里,应用程序的区域设置为 English-U.S.。使用日期文字可增加语言上的可移植性。
我的相关代码:
declare @LastedTime datetime select @LastedTime=[EditTime] from table where 字段='value' declare @day int set @day=DateDiff("d", @LastedTime,getdate()) if(@day>=1) begin update table1 set UserMark=UserMark+5 where UserName=@UserName /*积分+5*此处可置多行代码/ end
- 我使用DateDiff函数
- 我使用DateDiff函数
- DateDiff函数的使用
- DATEDIFF 函数的使用
- SQLServer datediff () 函数 使用例子
- DateDiff 函数
- DateDiff 函数
- DateDiff 函数
- DateDiff 函数
- DateDiff 函数
- datediff函数
- DateDiff 函数
- DateDiff函数
- DateDiff函数
- DateDiff 函数
- DateDiff()函数
- DateDiff函数
- DateDiff 函数
- JavaFX完全中文手册
- 每天一个linux命令--export
- JavaFX发现之旅:JavaFX Script With Eclipse 入门
- 检测Dell 机器型号、拷贝驱动、拷贝Hal文件的Script
- 我使用DateDiff函数
- 我使用DateDiff函数
- 检测VMware虚拟机及更新Hal文件的脚本示例
- 改变一生的五句话!
- 时刻督促自己
- 制作一个WinForm的闪屏
- 中defer的作用
- 《Ajax构建工具箱指南》随书光盘使用说明
- 各种数据库系统JDBC驱动下载网址
- 在Imagebutton上添加标准属性