光的传人

VB日期函数精解示例

上一篇文章中,使用到了vb日期函数中的timer,但是对vb没有深入学习的我来说,虽然知其大意,但是语法不懂,还得靠度娘才能改改代码,才能顺利使用。终于研究了一阵子,发现了点眉目,可以按照自己的想法修改上篇文章中出现的代码了!

例如修改:

objRS.Source=objRS.Source & "ORDER BY right(cstr(rnd(-int(rnd(-timer())*100+[log_ID])))*1000*Now(),2)"

修改成每分钟刷新才随机变换一次,如下:

objRS.Source=objRS.Source & "ORDER BY right(cstr(rnd(-int(rnd(-Minute(Now))*100+[log_ID])))*1000*Minute(Now),2)"

同理,利用下面的日期函数,可以修改成你想要的效果!

特此转载“VB日期函数精解示例”,仅供留底,全文如下:

日期函数的语法简表

CDate
CDate(date)
返回date类型的表达式,date 参数是任意有效的日期或字符串表达式。
MyDate = "October 19, 1962" MyShortDate = CDate(MyDate)

Date
Date
返回当前系统日期。不带()
MyDate = Date

DateAdd
DateAdd(interval, number, date) 
返回已添加指定时间间隔的日期。
下例将95 年1 月31 日加上一 个月:
NewDate =DateAdd("m", 1, "31-Jan-95")

DateDiff
DateDiff(interval,date1, date2)  
返回两个日期之间的时间间隔。
xx= DateDiff("d", Now, theDate)

DatePart
DatePart(interval, date)
返回给定日期的指定部分。参考interval参数的可选值。
GetQuarter =
DatePart("q", TheDate)

DateSerial
DateSerial(year, month, day) 
对于指定的年、月、日,返回 Date 子类型的 Variant。
MyDate2 =
   DateSerial(1990-10, 8-2, 1)

DateValue
DateValue(date)
返回 Date 子类型的变量。date 参数应是字符串。
DateValue("September 11, 1963")

Day
Day(date)
返回1 到 31 之间的一个整数,代表某月中的一天。
MyDay = Day("October 19, 1962") 'MyDay =19。

Hour
Hour(Time)
返回0到23之间的一个整数,代表某小时数。Time参数是时间表达式。
MyTime = Now
MyHour = Hour(MyTime)

IsDate
IsDate(expression)
返回Boolean值指明某表达式是否可以转换为日期。expression 参数可以是任意可被识别为日期和时间的日期表达式或字符串表达式。
MyDate = "October 19, 1962" YourDate = #10/19/62#
NoDate = "Hello"
MyCheck= IsDate(MyDate) 'True MyCheck= IsDate(YourDate)'True MyCheck= IsDate(NoDate)   'False

Minute
Minute(Time)
返回0到59之间的整数,代表分钟。
MyVar = Minute(Now)   '=41

Month
Month(date)
返回 1到12 之间的一个整数,代表某月份数。
MyVar=Minute("October 19, 1962")
'MyVar = 10

MonthName
MonthName(month)
返回表明指定月份的字符串。month是数值
thismanth = MonthName(10)'
’thismanth = "October"

Now
Now
返回系统的当前日期和时间值。
Today = Now
' today = "02-07-04 11:41:14"

Second
Second(Time) 
返回 0到 59之间的一个整数,代表某秒数。
MySec = Second(Now)
'MySec =14

Time
Time
返回当前的系统时间。
MyTime = Time
'MyTime = "11:41:14"

Timer
Timer
返回午夜 12 时以后已经过去的秒数。
  

TimeSerial
TimeSerial(h,m,s)
返回含有指定时h、分m、秒s的时间。
MyTime1 = TimeSerial(12-6,-15,0)
' 返回 "5:45:00 AM."

TimeValue
TimeValue(time)
返回包含时间的 Date子类型的变量。
time 参数通常是代表时间表达式。
MyTime = TimeValue("4:35:17 PM")

Weekday
Weekday(date)
返回代表一星期中某天的整数0到6。
MyDate = #October 19, 1962#
MyWeekDay = Weekday(MyDate)

WeekdayName
WeekdayName(weekday)
返回指定某天是星期几的字符串。
MyDate= WeekDayName(1)'Sunday

Year
Year(date)
返回一个代表某年的整数。
MyYear = Year(now)   '2002

FormatDateTime
FormatDateTime(Date[, NamedFormat])
返回表达式,此表达式已被格式化为日期或时间。NamedFormat=0,1,2,3,4
GetCurrentDate =
    FormatDateTime(Date, 1)

上表的语法格式中没有括号的表示无参数,date和time分别表示日期类型和时间类型的参数。
·       给出日期常量的方法有几种。用字符串"1994-3-21","94,03,20","March,21,1994"都可以,当然是在可以接收字符串的函数处使用。必须用日期型的地方可以用“#”号括起来,如#94-3-21#。 
·       月名和星期名在中文版Window98中返回的是“五月”或“星期四”这样的名称,而不是英文名。它取决于系统设定的日期格式。 
下表给出interval参数的可选值,它适用于dateadd, Datediff, DatePart三个函数。
设置 描述 
yyyy 年 
q 季 
m 月 
y 一年的日数 
d 日 
w 一周的日数 
ww 周 
h 时 
n 分钟 
s 秒 

常数                 值          描述 
vbUseSystem       0       使用 NLS API 设置。 
vbSunday          1       星期日(缺省值) 
vbMonday          2       星期一 
vbTuesday          3       星期二 
vbWednesday       4       星期三 
vbThursday           5       星期四 
vbFriday          6       星期五 
vbSaturday           7       星期六 
---------------------------------------------------------------------------- 
weekdayname 取得星期几的函数:例如:weekdayname(weekday(date)) 输出:星期五
monthname 取得汉字几月份的函数: 例如:monthname(month(date))输出:十一月
----------------------------------------------------------------------------
datediff("d",#2005/11/12#,#2005/12/12#) 计算两个日期之间相隔的天数 30
可以使用 DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。 
----------------------------------------------------------------------------
DateAdd("d", -7, #9/15/1999#)   计算1999年9月15日七天前的日期 
DateAdd("d", +7, #9/15/1999#)   计算1999年9月15日七天后的日期
可以用 DateAdd 来计算距今天为三十天的日期;或者计算距现在为 45 分钟的时间。
----------------------------------------------------------------------------
Print Datepart("y",#1/27/2009#)    返回27,表示#1/27/2009#是一年的第27天
----------------------------------------------------------------------------
print FormatDateTime(Date,vbShortTime) 返回一个日期和时间的显示格式。
常数 值 描述 
vbGeneralDate 0 显示日期和/或时间。如果有日期部分,则用短日期格式显示。如果有时间部分,则用
长时间格式显示。如果都有,两部分都显示。 
print FormatDateTime(now,vbGeneralDate)
2009-1-28 0:07:03
----------------------------------------------------------------------------
vbLongDate 1 用计算机区域设置值中指定的长日期格式显示日期。
print FormatDateTime(now,vbLongDate)
2009年1月28日 
----------------------------------------------------------------------------
vbShortDate 2 用计算机区域设置值中指定的短日期格式显示日期。 
print FormatDateTime(now,vbShortDate)
2009-1-28
----------------------------------------------------------------------------
vbLongTime 3 用计算机区域设置值中指定的时间格式显示时间。
print FormatDateTime(now,vbLongTime)
0:08:56 
----------------------------------------------------------------------------
vbShortTime 4 用24小时格式(hh:mm)显示时间。 
print FormatDateTime(now,vbShortTime)
00:09
----------------------------------------------------------------------------
把字符串转换成日期型:
1:日期型变量=datevalue("2005/10/28")       2:日期型变量=timevalue("15:20:20")
把数字转换成日期型:
1:日期型变量=dateserial(年,月,日)           2:日期型变量=timeserial(时,分,秒)
从现在开始到五分钟之后的精确日期和时间:        print now+timeserial(0,5,0)
日期型变量=format(now,"dddd,yyyy/mm/dd, hh:mm:ss AM/PM)
THUESDAY,2005/11/29 10:30:45 AM
---------------------------------------------------------------------------- 
●DateValue 将字串转换成日期
Dim Tmp As Date
Tmp = DateVal("1999/5/1")→Tmp = 05/01/99
Tmp = DateVal("99/5/1")→Tmp = 05/01/99
Tmp = DateVal("99/05/01")→Tmp = 05/01/99
Tmp = DateVal("05/01/99")→Tmp = 05/01/99
Tmp = DateVal("05-01-99")→Tmp = 05/01/99
Tmp = DateVal("05-01-1999")→Tmp = 05/01/99
Tmp = DateVal("May/01/99")→Tmp = 05/01/99
---------------------------------------------------------------------------- 
●DateSerial 将字数值换成日期
Dim Tmp As Date
Tmp = DateSeral(99,5,1)→Tmp = 05/01/99
Tmp = DateSeral(1999,5,1)→Tmp = 05/01/99
---------------------------------------------------------------------------- 
●TimeValue 将字串转换成时间
Dim Tmp As Date
Tmp = TimeVal("1:1:5")→Tmp = 01:01:05 AM
Tmp = TimeVal("01:01:05")→Tmp = 01:01:05 AM
Tmp = TimeVal("13:01:05")→Tmp = 01:01:05 PM
Tmp = TimeVal("1:1:5 PM")→Tmp = 01:01:05 PM
Tmp = TimeVal("PM 1:1:5")→Tmp = 01:01:05 PM
Tmp = TimeVal("1:1:5 下午")→Tmp = 01:01:05 PM
Tmp = TimeVal("下午 1:1:5")→Tmp = 01:01:05 PM
---------------------------------------------------------------------------- 
●TimeSerial 将字数值换成日期
Dim Tmp As Date
Tmp = TimeSeral(1,1,5)→Tmp = 01:01:05 AM
Tmp = TimeSeral(13,1,5)→Tmp = 01:01:05 PM

网友评论(以下内容仅代表网友观点,与本站无关)
    7.垂直绿化  2014/2/15 10:37:30 回复
    我也一直在用。、
    6.魏五锁业  2014/2/15 7:37:05 回复
    谢谢博主分享
    5.色系军团  2014/2/13 15:41:25 回复
    为什么要这样做?
    4.色系军团  2014/2/13 15:40:40 回复
    期待加油更新,喜欢你的文章。
    3.鹏达锁业  2014/2/13 13:35:55 回复
    期待新的文章。。。。

    2.鹏达锁业  2014/2/12 8:25:49 回复
    过来看看,给力支持博主,欢迎回访
    1.鹏达锁业  2014/2/11 7:55:02 回复
    期待博主更新文章。。。加油

原创文章请注明转载自光的传人博客本文地址:http://www.liu16.com/post/日期函数.html,标题:VB日期函数精解示例

【我来说两句】
分享到:

评论 7

发表评论:

阿光验证码

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。