视频链接:https://pan.baidu.com/s/1-glE6GaqaKLriwwtJGRqcQ 提取码:mis1
一、 Date对象的常用函数
函数功能 | 函数 | 页面显示 | 返回类型 |
---|---|---|---|
判定字符串是否符合转换成日期的合法格式 | =Date.isdate(“1980-4-3”) | TRUE | 布尔型 |
将字符串转换成日期 | =Date.parseDate(“1980-4-3”) | 1980-4-3 | 日期型 |
获取当前日期时间 | =Date.now() | 2021-3-18 11:47:13 | 日期型 |
获取当前日期 | =Date.today() | 2021-3-18 | 日期型 |
输入年、月、日,生成一个日期 | =Date.create(1980,4,3) | 1980-4-3 | 日期型 |
二、 日期型的数据可使用的日期函数
案例日期: Date.today(): 2021-3-18
函数功能 | 函数 | 页面显示 | 返回类型 |
---|---|---|---|
取当前日期的年 | =Date.today().year | 2021 | 整型 |
取当前日期的月份 | =Date.today().month | 3 | 整型 |
取当前日期的天 | =Date.today().day | 18 | 整型 |
取当前日期的小时 | =Date.today().hour | 0 | 整型 |
取当前日期的分钟 | =Date.today().minute | 0 | 整型 |
取当前日期的毫秒 | =Date.today().millisecond | 000 | 整型 |
取当前日期的星期 | =Date.today().weekDay | 星期四 | 字符串 |
取得当前日期所在季度 | =Date.today().season | 1 | 整型(1,2,3,4) |
取得1970年后的秒数 | =Date.today().timestamp | 1615996800 | 整型 |
当前年第几周 | =Date.today().weekOfYear() | 12 | 整型 |
当前年共几天 | =Date.today().daysInYear() | 365 | 整型 |
当前年第几天 | =Date.today().dayOfYear() | 190 | 整数 |
当前月有几天 | =Date.today().daysInMonth() | 31 | 整型 |
计算两个日期差几天(it.创建时间与今天差几天) | =Date.today().daysSubtract(“2021-3-14”) | 369 | 整型 |
计算时间差(1990-2-3到今天的年数,即年龄) | =Date.today().age(“1990-2-3”,”yyyy-MM-dd”,3) | 31 | 整型 |
算出相差n秒之后的日期 | =Date.today().addSecond(4) | 2021-2-9 12.30.04 | 日期类型 |
比较今天是否在创建日期之后 | =Date.today().daysAfter(it.创建时间) | true | 整型 |
将当前日期转为字符串,且可转换格式 | =Date.today().toString(“yyyy/MM/dd”) | 2021/03/18 | 字符串 |
将日期转化为中文字符串 | =Date.today().toSimpleChinese() | 二〇二一年三月十八日 | 字符串 |
取得当前日期所在季度的第一天 | =Date.today().quaterbegin | 2021-01-01 | 日期类型 |
取得当前日期所在季度的最后一天 | =Date.today().quaterend | 2021-03-31 | 日期类型 |
年份加值 | =Date.today().addYear(10) | 2031-03-18 | 日期类型 |
月份加值 | =Date.today().addMonth(2) | 2021-05-18 | 日期类型 |
日期周加值(一周后的日期) | =Date.today().addWeek(1) | 2021-03-25 | 日期类型 |
日期天加值(10天后的日期) | =Date.today().addDay(10) | 2021-03-28 | 日期类型 |
日期小时加值(24h后的日期) | =Date.today().addHour(24) | 2021-03-19 | 日期类型 |
日期分钟加值(10分后的日期 2021-3-9 12:30:00) |
=Date.today().addMinute(10) | 2021-3-19 12:40:00 | |
当前日期推后7天的日期 | =Date.today().add7Day() | 2021-03-25 | 日期类型 |
对当前日期修改年 | =Date.today().setYear(2020) | 2020-03-25 | 日期类型 |
昨天 | =Date.today().lastDay() | 2021-03-17 | 日期类型 |
上个月 | =Date.today().lastMonth() | 2021-02-18 | 日期类型 |
去年 | =Date.today().lastYear() | 2020-03-18 | 日期类型 |
当前月第一天 | =Date.today().monthBegin() | 2021-03-01 | 日期类型 |
当前月最后一天 | =Date.today().monthEnd() | 2021-03-31 | 日期类型 |
当前周第一天 | =Date.today().weekBegin() | 2021-03-14 | 日期类型 |
当前周最后一天 | =Date.today().weekEnd() | 2021-03-20 | 日期类型 |
对当前年日期设置月 | =Date.today().setMonth(3) | 2021-3-9 | 日期函数 |
对当前年日期设置日 | =Date.today().setDay(1) | 2021-3-1 | 日期函数 |
对当前年日期设置小时 | =Date.today().setHour(1) | 2021-3-18 1:30:00 | 日期函数 |
对当前年日期设置分 | =Date.today().setMinute(10) | 2021-3-18 12:10:00 | 日期函数 |
对当前年日期设置秒 | =Date.today().setSecond(12) | 2021-3-18 12:30:12 | 日期函数 |
对当前年日期设置毫秒 | =Date.today().setMillisecond(0) | 2021-3-18 12:30:00:000 | 日期函数 |
对日期进行处理(将日期时间类型时分秒处理为00:00:00) | =Date.now().trunc() | 2021-03-18 00:00:00 | 日期类型 |
计算两个日期相差的月份 | =Date.parseDate(Date.create(2008,08,08)).daysSubtract(Date.create(2006,01,01)) | 950 | 整数 |
计算两个函数相差几天 | =Date.parseDate(Date.create(2008,08,08)).monthsSubtract(Date.create(2006,01,01)) | 30 | 整数 |
计算两个日期相差几秒 | =Date.parseDate(Date.create(2008,08,08)).secondSubtract(Date.create(2010,01,01)) | 44150400 | 整数 |
计算两个日期的差值 | =Date.parseDate(Date.create(2008,08,08)).dateDifferenceList(Date.create(2000,01,01)) | [8,7,8] | 字符串 |
计算两个日期的差值 | =Date.parseDate(Date.create(2008,08,08)).dateDifference2(Date.create(2000,01,01)) | 8年7月8日 | 字符串 |
注意:
- 实际应用场景中:我们可以把Date.today()换成任意日期类型的页面公式,如it.创建日期.日期函数、ds.创建日期.日期函数、table.用户.findOne(xxx).创建日期.日期函数
- 所有返回类型为日期类型的函数,如:=Date.today().lastDay() ,后面还可以对该日期进行日期函数处理,如=Date.today().lastDay().addYear(10),在原有日期基础上再加十年,得到2031-3-17
- 日期函数的参数,及括号内的内容,可以是常量(如案例),也可以是变量,如=Date.today().addYear(dynamic(A1)),即当前日期加的年数随A1的值变化而变化的,A1单元格的值可以是输入或者选择的。“变量”详细介绍请参看2.5章
三、练习: 写函数
- 今天
- 本月1日
- 上月月末
- 今年国庆节
- 现在
- 昨天