VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 5535|回复: 9

日期函数精解示例

[复制链接]
 楼主| 发表于 2009-2-6 22:41:32 | 显示全部楼层 |阅读模式
日期函数的语法简表

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

评分

参与人数 2威望 +10 人气 +4 收起 理由
njzqxt + 1 我很赞同
DreamonII + 10 + 3 精品文章

查看全部评分

发表于 2009-2-9 12:08:38 | 显示全部楼层
谢了,好精啊!
回复 支持 反对

使用道具 举报

发表于 2010-8-8 15:52:58 | 显示全部楼层
谢谢楼主,学习了,很有用~
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2010-8-13 21:15:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2010-12-6 10:43:12 | 显示全部楼层
好文章,又被我翻出来了
回复 支持 反对

使用道具 举报

发表于 2011-2-8 22:50:06 | 显示全部楼层
这个绝对是好东西
回复 支持 反对

使用道具 举报

发表于 2012-6-14 23:38:24 | 显示全部楼层
很有用的基础知识。。。。。。。。
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2013-11-3 12:06:23 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2013-11-11 09:04:21 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

发表于 2015-11-9 10:26:09 | 显示全部楼层
收藏
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2019-7-19 18:34

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表