巧用日期时间函数
在做一张考勤表的时候会涉及到很多的日期以及星期几,每个月的天数不一样,每个日期又需要一一的对应星期几。
要判断输入的这个日期所在月有几天,如果我们自己来写表达式计算,会很复杂,首先需要判断年份是闰年还是平年,然后再判断月份。
常规的表达式:
B3=case(month(@arg1),1,"31",2,"29",3,"31",4,"30",5,"31",6,"30",7,"31",8,"31",9,"30",10,"31",11,"30",12,"31")。
B4=if(year(@arg1)%4!=0&&year(@arg1)==2,to(1,int(B3)-1),to(1,int(B3)))
润乾提供了一个日期时间函数 days()。就能取到当月的天数。
用润乾提供的函数直接写上 =to(1,days(@arg1)) 就能准确简单的实现上面两行代码的作用。
函数说明:
函数说明:
获得指定日期所在年,季度或者月份的天数
语法:
days(dateExp)
参数说明:
dateExp 日期或标准日期格式的字符串
返回值:
整数
选项:
@q 获得指定日期所在季度的天数
@y 获得指定日期所在年的天数
缺省为获得指定日期所在月的天数
示例:
例1:days(datetime("19800227","yyyyMMdd")) 返回:29
例2:days(datetime("2006-01-15 10:20:30")) 返回:31
例3:days@y(datetime("19800227","yyyyMMdd")) 返回:366
例4:days@q(datetime("2006-01-15 10:20:30")) 返回:90
同样的 要获取选择日期的星期名称 可以试用如下函数:
dayname()
函数说明:
函数说明:
从日期型数据中获得该日的星期名称
语法:
dayname(dateExp)
参数说明:
dateExp 日期或标准日期格式的字符串,如:yyyy-MM-dd HH🇲🇲ss,yyyy-MM-dd,HH🇲🇲ss
返回值:
字符型
示例:
例1:dayname(datetime("19800227","yyyyMMdd")) 返回:星期三
例2:dayname(datetime(12345)) 返回:星期四
例3:dayname(datetime("2006-01-15 10:20:30")) 返回:星期日
例4:dayname("12:14:34") 返回:星期四
例5:dayname("1972-11-08") 返回:星期三
例6:dayname("1972-11-08 10:20:30") 返回:星期三