视频链接: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日 字符串

注意:

  1. 实际应用场景中:我们可以把Date.today()换成任意日期类型的页面公式,如it.创建日期.日期函数、ds.创建日期.日期函数、table.用户.findOne(xxx).创建日期.日期函数
  2. 所有返回类型为日期类型的函数,如:=Date.today().lastDay() ,后面还可以对该日期进行日期函数处理,如=Date.today().lastDay().addYear(10),在原有日期基础上再加十年,得到2031-3-17
  3. 日期函数的参数,及括号内的内容,可以是常量(如案例),也可以是变量,如=Date.today().addYear(dynamic(A1)),即当前日期加的年数随A1的值变化而变化的,A1单元格的值可以是输入或者选择的。“变量”详细介绍请参看2.5章

image.png三、练习: 写函数

  1. 今天
  2. 本月1日
  3. 上月月末
  4. 今年国庆节
  5. 现在
  6. 昨天