VBA日期函数 -> DateDiff计算时间差
yuyutoo 2025-01-11 18:27 1 浏览 0 评论
本文内容
- 语法
- 设置
- 注解
- 示例
返回一个 Variant (Long),指定两个指定的日期之间的时间间隔数。
语法
DateDiff(interval, date1, date2, [ firstdayofweek, [ firstweekofyear ]] )
DateDiff 函数语法包括这些命名参数:
Part | 说明 |
interval | 必需。 表示用于计算 date1 和 date2 之间差异的时间间隔的字符串表达式。 |
date1、date2 | 必需;Variant (Date)。 要在计算中使用的两个日期。 |
firstdayofweek | 可选。 一个指定一周的第一天的常量。 如果未指定,则会假定为星期日。 |
firstweekofyear | 可选。 一个指定一年的第一周的常量。 如果未指定,则会假定 1 月 1 日出现的那一周为第一周。 |
设置
interval参数具有以下设置:
Setting | 说明 |
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 | 星期六 |
firstweekofyear 参数包含以下设置:
常量 | 值 | 说明 |
vbUseSystem | 0 | 使用 NLS API 设置。 |
vbFirstJan1 | 1 | 从 1 月 1 日所在的周开始(默认)。 |
vbFirstFourDays | 2 | 从至少包含新的一年中的四天的那一周开始。 |
vbFirstFullWeek | 3 | 从每年的第一个完整的星期开始。 |
注解
使用 DateDiff 函数来确定两个日期之间存在的指定时间段的数目。 例如,您可以使用 DateDiff 计算两个日期之间的天数或今天与该年的最后一天之间的周数。
若要计算 date1 和 date2 之间的天数,可以使用年份中的某一天 ("y") 或天 ("d")。 当时间间隔是工作日 ("w") 时,DateDiff 返回两个日期之间的周数。 如果 date1 为星期一,则 DateDiff 计算 date2 之前的星期一数。 它计算 date2 但不计算 date1。
但是,如果时间间隔是周 ("ww"),则 DateDiff 函数返回这两个日期之间的日历周数。 它计算 date1 和 date2 之间的星期日数。 如果它为星期日,则 DateDiff 计算 date2,但它不计算 date1,即使它是星期日也是如此。
如果 date1 引用的时间点晚于 date2,则 DateDiff 函数将返回负数。 firstdayofweek 参数影响使用“w”和“ww”时间间隔符号的计算。
如果 date1 或 date2 是日期字符串,则指定的年份变为该日期的永久部分。 但是,如果 date1 或 date2 用双引号 (" ") 引起且您省略了年份,则每当计算 date1 或 date2 表达式时就会将当前年份插入您的代码。 这样能够使编写的代码在不同年份中均可使用。
在将 12 月 31 日与随后一年中的 1 月 1 日相比时,“年”("yyyy") 的 DateDiff 会返回 1,即使仅过去一天时间。
备注
对于 date1 和 date2,如果 Calendar 属性设置为公历,则提供的日期必须为公历。 如果日历是回历,则所提供的日期必须是回历形式。
示例
此示例使用 DateDiff 函数显示给定日期与今天之间的天数。
VB复制
Dim TheDate As Date ' 声明变量
Dim Msg
TheDate = InputBox("输入日期")
Msg = "两日期相隔天数: " & DateDiff("d", Now, TheDate)
MsgBox Msg
相关推荐
- 字节跳动官方出品的免费图标库,超好用还能自定义修改
-
现在很多企业公司或品牌都会将自己开发的设计素材开放出来,像是图标集、字体或是网页框架等等,使这些项目可以被更多人使用,或是在开源的情况下创造出更多可能性,当然一方面也能提高被看到的机会。之前介绍过IB...
- 微信底部不起眼的图标,还藏着设计师的这些小心思,网友:贴心
-
每天至少要打开十几次的微信,你注意过底部的小图标吗?可能有些读者会说了,不就是几个小图标吗?你发现没:选中的图标选项框是实心图标,但是没有选中的就是空心图标。为什么会这样设计呢?所以,我们今天就来聊聊...
- ppt常用小图标去哪里找?3个矢量素材网站推荐!
-
ppt是一个注重可视化表达的演示载体,除了高清图片,ppt中另一类常用的素材是各种小图标,也叫矢量图标,巧妙运用小图标能提升整体美观度和表现力,那么ppt常用小图标去哪里找呢?...
- 手机右上角的状态栏,如果出现了这些小图标,记得一定要关闭
-
文|技术探索者编辑|技术探索者...
- Win10设置应用更新:升级“关于”页面,主页图标可跟随主题色
-
IT之家12月24日消息,科技媒体WindowsLatest昨日(12月23日)发布博文,报道称Windows10系统正整合两项“新”功能/特性,包括色彩更丰富的设置H...
- 全网最炫酷、最华丽、最好看的动画图标库
-
很多小伙伴一直苦恼找不到合适自己使用的动画图标,今天TJ君要给大家分享一个...
- 电脑任务栏的网络小图标,就能告诉你不能上网的真正原因是什么?
-
我们在使用电脑时,经常遇到电脑突然就不能上网了,特别是着急上传文件或资料的时候,偏偏在关键时候掉链子。其实,电脑真的很智通,只是我们不在意电脑告诉我们的重要信息,所以就只能干着急了。1、正常有线网络连...
- 建议收藏的7个高质量图标网站,一网打尽图标素材
-
大家好,这里是@秋叶PPT图标是PPT制作中经常用到的元素之一,其比文字生动,比图片简洁的特性,应用在PPT中可以极大地提高页面的可阅读性,从而深受广大PPT爱好者喜爱。...
- 软网推荐:轻轻松松制作与处理图标
-
在制作软件、网页、多媒体作品时,常常会涉及到各种各样的图标。要制作这些图标,我们当然可以使用Photoshop这样的专业软件,但用该软件制作,操作不见得简单。其实,我们只需使用一个便携版的AniFX...
- 服务器安全:CentOS 7中安装CSF防火墙
-
提到服务器的安全性,有人可能会觉得一般服务器的操作系统相对个人PC的安全性更高,更难以破解,尤其是CentOS操作系统自身也比较安全,但是因为服务器内的信息更为关键,所以笔者建议还是不要让它“裸奔”,...
- 什么是基因突变,乳腺癌常见的基因突变有哪些?
-
基因突变当一个细胞生长和分裂时,它会复制它的DNA。有时新细胞中的DNA与原始细胞不同。这叫做突变。你生来就可能有遗传的,或遗传的,你从你的父母那里继承下来的突变。如果他们中的一个生来就有一个基因,他...
- 6 张图带你彻底搞懂分布式事务 XA 模式
-
XA协议是由X/Open组织提出的分布式事务处理规范,主要定义了事务管理器TM和局部资源管理器RM之间的接口。目前主流的数据库,比如oracle、DB2都是支持XA协议的。...
- 【云原生】Prometheus AlertManager讲解与实战操作
-
一、概述Prometheus包含一个...
- Win10桌面/手机版最深层次开发功能挖掘
-
IT之家讯Win10开发者预览版为我们提供了一个Win10大框架的早期概览,使开发者与热心用户都可以提前感受Win10带来的新特性,尝试新工具,而作为开发者,最关心的莫过于Windows多平台通用应...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)