VBA时间函数

VBA时间函数

 

 

1         VBA日期的加减函数:DateAdd 函数

返回包含一个日期的 Variant (Date),这一日期还加上了一段时间间隔。

语法

DateAdd(interval, number, date)

DateAdd 函数语法中有下列命名参数:

部分

描述

interval

必要。字符串表达式,是所要加上去的时间间隔。

number

必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。

date

必要。Variant (Date) 或表示日期的文字,这一日期还加上了时间间隔。

 

设置

interval 参数具有以下设定值:

设置

描述

yyyy

q

m

y

一年的日数

d

w

一周的日数

ww

h

n

分钟

s

 

说明

可以使用 DateAdd 函数对日期加上或减去指定的时间间隔。例如,可以用 DateAdd 来计算距今天为三十天的日期;或者计算距现在为 45 分钟的时间。

为了对 date 加上,可以使用一年的日数” (“y”)” (”d”) 一周的日数” (”w”)

DateAdd 函数将不返回有效日期。在以下实例中将 1 31 日加上一个月:

DateAdd(m, 1, 31-Jan-95)

上例中,DateAdd 返回 1995 2 28 日,而不是 1995 2 31 日。如果 date 1996 1 31 日,则由于 1996 年是闰年,返回值是 1996 2 29 日。

如果计算的日期超前 100 年(减去的年度超过 date 中的年份),就会导致错误发生。

如果 number 不是一个 Long 值,则在计算时取最接近的整数值来计算。

注意   DateAdd 返回值的格式由 Control Panel设置决定,而不是由传递到date 参数的格式决定。

DateAdd 函数示例

本示例先取得一个日期,再用 DateAdd 函数显示未来数月后的日期。

Dim FirstDate As Date    ' 声明变量。

Dim IntervalType As String

Dim Number As Integer

Dim Msg

IntervalType = "m"    ' "m"指定以月份作为间隔。

FirstDate = InputBox("Enter a date")

Number = InputBox("Enter number of months to add")

Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate)

MsgBox Msg

 

 

2         20080101转换成2008-01-01

Function mydate(temp As String)
    mydate = DateValue(Mid(temp, 5, 2) & "/" & Right(temp, 2) & "/" & Left(temp, 4))
End Function

 

3         CDate:将字符串转换日期

Cdate(“2008-02-02”)

 

4         VBA论坛:51VBA

http://www.51vba.com/default.aspx

 

注:本文有些代码来自其它网站。

原文地址:https://www.cnblogs.com/qkhh/p/1366198.html