exce如何计算相差小时

exce如何计算相差小时

时间函数汇总1.Cdate(日期表达式)

将日期表达式转换成日期类型的数据。

日期表达式是任何可以解释成日期的表达式,包含日期文字,可以看作日期的字符串以及从函数返回的日期。

比如:myDate = CDate("99-5-20") ,这样的日期表达式必须加双引号,否则结果不可预料。

CDate 依据系统上的区域设置来决定日期的格式。如果提供的格式为不可识别的日期设置,则不能正确判断年、月、日的顺序。

2.Now()

返回当前计算机系统设置的日期和时间。

3.Year(日期表达式)

返回表示年份的整数。

比如:Year("00-6-15") = 2000

4.Month(日期表达式)

返回 1 到 12 之间的整数,表示一年中的某月。

比如:Month("00-6-15") = 6

5.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("d",10,"2000-6-18")

结果是: 2000-06-28

DateAdd("m",-1,"2000-6-18")

结果是: 2000-05-18

6、DateDiff 函数

返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。

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

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

部分 描述

interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔

Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。

Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。

firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。

interval 参数的设定值同DateAdd函数,请参考上面的例子。

例:DateDiff("d",#2004-01-06#,#2004-01-07#) 1

7、DatePart 函数

返回一个包含已知日期的指定时间部分的 Variant (Integer)。

语法 DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

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

部分 描述

interval 必要。字符串表达式,是要返回的时间间隔。

date 必要。要计算的 Variant (Date) 值。

Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。

firstweekofyear 可选。指定一年第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。

设置

interval 参数的设定值同DateAdd()

DatePart 函数示例本示例先取得一个日期,然后使用 DatePart 函数显示该日期是发生在该年的哪一季。

Dim TheDate As Date ' 声明变量。

Dim Msg

TheDate = InputBox("Enter a date:")

Msg = "季度: " & DatePart("q", TheDate)

MsgBox Msg

8、DateSerial 函数

返回包含指定的年、月、日的 Variant (Date)。

语法 DateSerial(year, month, day)

DateSerial 函数语法有下列的命名参数:

部分 描述

year 必要;Integer。从 100 到 9999 间的整数,或一数值表达式。

month 必要;Integer。任何数值表达式。

day 必要;Integer。任何数值表达式。

说明

为了指定某个日期,如 1991 年 12 月 31 日,DateSerial 函数中的每个参数的取值范围应该是可接受的;即,日的取值范围应在 1-31 之间,而月的取值范围应在 1-12 之间。但是,当一个数值表达式表示某日之前或其后的年、月、日数时,也可以为每个使用这个数值表达式的参数指定相对日期。

以下示例中使用了数值表达式代替绝对日期。这里,DateSerial 函数返回 1990 年 8 月 1 日的 十 年 (1990 - 10) 零两个月 (8 - 2) 又一天 (1 - 1) 之前的日期;换句话说,就是 1980 年 5 月 31 日。

DateSerial(1990 - 10, 8 - 2, 1 - 1)

year 参数的数值若介于 0 与 29 之间,则将其解释为 2000–2029年,若介于 30 和 99 之间则解释为1930–1999年。而对所有其它 year 参数,则请用四位数值表示(如 1800)。 当任何一个参数的取值超出可接受的范围时,它会适时进位到下一个较大的时间单位。

例如,如果指定了 35 天,则这个天数被解释成一个月加上多出来的日数,多出来的日数将由其年份与月份来决定。

如果一个参数值超出 -32,768 到 32,767 的范围,就会导致错误发生。

DateSerial 函数示例本示例使用

DateSerial 函数来将指定的年月日转换为 Date 类型的表达式。

Dim MyDate ' MyDate 的值为 February 12,1969, Date 类型。

MyDate = DateSerial(1969, 2, 12) ' 返回日期。

9、DateValue 函数

返回一个 Variant (Date)。

语法

DateValue(date)

必要的 date 参数

date 通常是字符串表达式,表示从 100 年 1 月 1 日到 9999 年 12 月 31 日之间的一个日期。但是,date 也可以是任何表达式,其所代表的日期、时间在上述范围内。

说明

如果 date 是一个字符串,且其内容只有数字以及分隔数字的日期分隔符,则 DateValue 就会根据系统中指定的短日期格式来识别月、日、年的顺序。

DateValue 也识别明确的英文月份名称,全名或缩写均可。

例如,除了 12/30/1991 和 12/30/91 之外,DateValue 也识别 December 30, 1991 和 Dec 30, 1991。

如果 date 中略去了年这一部分,DateValue 就会使用由计算机系统日期设置的当前年份。 如果 date 参数包含时间信息,则 DateValue 不会返回它。但是,如果 date 包含无效时间信息(如 89:98),则会导致错误发生。

DateValue 函数示例本示例使用

DateValue 函数将字符串转换为日期。也可以使用日期原义直接 给 Variant 或 Date 类型的变量赋值日期,例如 MyDate = #2/12/69# 。

Dim MyDate

MyDate = DateValue("February 12, 1969") ' 返回日期。

10、WeekdayName函数

描述 返回一个字符串,表示一星期中的某天。

语法 WeekdayName(weekday, abbreviate, firstdayofweek)

WeekdayName函数语法有如下几部分:

部分 描述

weekday 必需的。数字值,表示一星期中的某天。该数字值要依赖于firstdayofweek设置中的设置值来决定。

abbreviate 可选的。Boolean值,表示星期的名称是否被缩写。如果忽略该值,缺省值为False,表明星期的名称不能被缩写。

firstdayofweek 可选的。数字值,表示一星期中第一天。关于其值,请参阅“设置值”部分。

设置值 firstdayofweek参数值如下:

常数 值 描述

vbUseSystem 0 使用本国语言支持 (NLS) API设置值。

vbSunday 1 星期日(缺省)。

vbMonday 2 星期一

vbTuesday 3 星期二

vbWednesday 4 星期三

vbThursday 5 星期四

vbFriday 6 星期五

vbSaturday 7 星期六

11、Weekday 函数

返回一个 Variant (Integer),包含一个整数,代表某个日期是星期几。

语法 Weekday(date, [firstdayofweek])

Weekday 函数语法有下列的命名参数:

部分 描述

date 必要。能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。如果 date 包含 Null,则返回 Null。

Firstdayofweek 可选。指定一星期第一天的常数。如果未予指定,则以 vbSunday 为缺省值。

设置 firstdayofweek 参数有以下设定值:

常数 值 描述

vbUseSystem 0 使用 NLS API 设置。

VbSunday 1 星期日(缺省值)

vbMonday 2 星期一

vbTuesday 3 星期二

vbWednesday 4 星期三

vbThursday 5 星期四

vbFriday 6 星期五

vbSaturday 7 星期六 返回值

Weekday 函数可以返回以下诸值:

常数 值 描述

vbSunday 1 星期日

vbMonday 2 星期一

vbTuesday 3 星期二

vbWednesday 4 星期三

vbThursday 5 星期四

vbFriday 6 星期五

vbSaturday 7 星期六

如果没能帮到你请参考:http://bbs.office-cn.net/dispbbs.asp?BoardID=142&replyID=167465&id=33813&skin=0

参考资料:http://zhidao.baidu.com/question/34689184.html

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-26
很简单,假设前后两个时间点分别在单元格A1和A2,可以直接在结果单元格输入公式"=HOUR(A2-A1)"就得到相差小时数。
相似回答