日期和时间是我们经常会接触到的表格数据,本文收集汇总了常用的日期和时间计算函数,下面我们按照函数作用的不同分别来看一下。
一、获取当天的日期和时间
today函数和now函数可以分别获取系统当前的日期和时间,两者都不需要参数。应用案例如下图:
![06024a8277ea0fd12de27614ef7d56b0.png](https://i-blog.csdnimg.cn/blog_migrate/3abf3c597c900e4d973da5bdbcb6259e.jpeg)
二、提取日期和时间中的信息
year、month、day函数可以分别提取指定日期中的年份、月份、日;hour、minute、second函数可以分别提取指定时间中的小时、分钟、秒。应用案例如下图:
![7b58eeda7367dd00ef872cae1e1f0c0f.png](https://i-blog.csdnimg.cn/blog_migrate/b4517b7899f024b26c9f58f0fda1ffcc.jpeg)
三、返回某日期的星期数
weekday函数可以返回代表一周中第几天的数值。其语法格式为:WEEKDAY(serial_number,return_type),参数serial_number是要返回星期数的日期,return_type为确定返回值类型的数字。(return_type为数字1 或省略,则1 至7 代表星期天到星期六;为数字2, 则1 至7 代表星期一到星期天;为数字3,则0至6代表星期一到星期日。)应用案例如下图:
![6c5dba84f93008e9a9746c13c2532766.png](https://i-blog.csdnimg.cn/blog_migrate/23e455f56543fad224c084dbcad17653.jpeg)
案例中weekday函数公式的第二个参数为2, 则1 至7 代表星期一到星期天,公式返回结果为"1"也就意味着2020/7/13这一天是星期一。
四、生成指定日期
date函数可以将分开的年份、月份、日合并成标准日期。
应用案例如下图:
![7e821b2ffbbd1c819e98b3f42e962243.png](https://i-blog.csdnimg.cn/blog_migrate/a87d2899ac1602f7237a4d98e5b99186.jpeg)
五、返回指定间隔月数之前或之后的日期
如果要求取指定间隔月数之前或之后的日期有两个函数,edate和eomonth,两个函数的区别在于eomonth返回的是指定间隔月数之前或之后月份的月末日期。案例对比如下图:
![85291950795e06aff17ed7121f894113.png](https://i-blog.csdnimg.cn/blog_migrate/d634de17db8333166818639c00e8c111.jpeg)
六、计算两个日期之间的时间差
两个日期之间的时间差有日差、月差、年差等等,涉及的函数也有好几个,我们分别来看一下。
- days360
days360函数是按照一年360 天的算法(每个月以30 天计,一年共计12 个月),返回两个日期间相差的天数。应用案例如下图:
![16724cbe8117394f6fc449a7dd83401a.png](https://i-blog.csdnimg.cn/blog_migrate/bfad67b2252740a758caf7c62e16d186.jpeg)
- networkdays
networkdays函数用于计算两个日期间间隔的工作日天数,即除去休息日要上班的天数。该函数默认星期六、星期日为休息日。
![977b69fb937033d010244ae26fb98a5f.png](https://i-blog.csdnimg.cn/blog_migrate/5d42bde25811f1a20020baf002b326cc.jpeg)
- networkdays.intl
networkdays.intl函数与networkdays函数一样,也是用来计算两个日期间间隔的工作日天数。但是networkdays.intl函数更加灵活,其语法结构中比networkdays函数多了一个可以自定义周末的参数。应用案例如下:
![de701be44af67d29fb1fb2f054ada8c6.png](https://i-blog.csdnimg.cn/blog_migrate/1e06f6f82e4b42c5307e19fa69aa6a38.jpeg)
表格C2单元格的公式中第三个参数"0000001"就是用来自定义周末的,7位数字从左到右依次代表周一到周日,0代表工作日,1代表非工作日,所以"0000001"的意思就是单休,每周最后一天周日为休息日。
- datedif函数
datedif函数是一个隐藏函数,在excel中没有提示和帮助文件,但是其功能很强大,可以计算日差、月差、年差;可以精确计算,也可以忽略年月日中的一部分进行粗略计算。如果希望详细了解datedif函数的用法,可阅读文章:Excel办公技巧:DATEDIF函数不同日期间隔类型用法对比。