永洪社区

标题: 永洪脚本函数—全局函数—日期时间函数 [打印本页]

作者: Lydia    时间: 4 天前
标题: 永洪脚本函数—全局函数—日期时间函数
本帖最后由 Lydia 于 2024-10-12 10:52 编辑

<
函数语法说明返回类型举例
datedate(int year, int month, int day)返回特定日期的序列号。date
date(2021,1,1)
//返回 Fri Jan 01 00:00:00 CST 2021
datevaluedatevalue(Object date)将文本格式的日期转换为序列号,初始日期为1900-1-1。intdatevalue(date(2021,1,1)) = 44195
dateTruncdateTrunc(String datepart, Object date, String startofweek)
按datepart指定的时间维度截断指定日期,返回一个新日期。
date_part的可选值为"year", "quarter","month" ,"weekofyear", "dayofyear","dayofmonth", "dayofweek","hour", "minute","second"。
start_of_week为可选参数,可选值为"monday", "tuesday","wednesday", "thursday","friday", "saturday","sunday"。
date
dateTrunc('month',date(2019,08,08)) = Thu Aug 01 00:00:00 CST 2019
dateTrunc('weekofyear',date(2021,1,1), "sunday")
//返回Sun Dec 27 00:00:00 CST 2020
dateTrunc('weekofyear',date(2021,1,1), "monday")
//返回Mon Dec 28 00:00:00 CST 2020
dayday(Object dateobj)将序列号转换为月份日期。int
day(date(2005, 5, 28));
//返回28
dayofyeardayofyear(Object dateobj)返回一年中的天数。int
dayofyear(date(2005, 5, 28))
//返回148
days360days360(Object startobj, Object endobj, Object basis)
以一年360天为基准计算两个日期间的天数。
参数1:起始日期。
参数2:结束日期。
参数3:可选。表示规定了计算中是采用欧洲方法还是美国方法:若为FALSE或者省略,则表示使用欧洲方法;若为TRUE,则表示使用美国方法。
int
days360(date(2005,1,1), date(2005, 5, 28))
//返回147
edateedate(Object dateobj, int number)
返回用于表示开始日期之前或之后月数的日期。
参数1:日期。
参数2:整数值,可以为负数。
date
edate(date(2005, 5, 28), -5)
//返回2004年12月28日
edate(date(2005, 5, 28), 5)
//返回2005年10月28日
eomontheomonth(Object dateobj, int monthNo)
返回指定月数之前或之后的月份的最后一天。
参数1:日期。
参数2:整数值,可以为负数。
date
eomonth(date(2005, 5, 28), 5)
//返回2005年10月31日
hourhour(Object dateobj)返回日期对象的小时数(0到23)。int
hour(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))
//返回11
minuteminute(Object dateobj)返回日期对象的分钟数(0到59)。int
minute(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))
//返回10
monthmonth(Object dateobj)返回日期对象的月数(1到12)。int
month(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))
返回9
monthnamemonthname(Object dateObj)返回日期的月份。string
monthname(date(2005, 5, 28))
//返回5月
networkdaysnetworkdays(Object startobj, Object endobj, Object holidaysObj)
返回两个日期间的全部工作日数。
参数1:起始日期。
参数2:结束日期。
参数3:可选。指定节假日,表示不在工作日历中的一个或多个日期所构成的可选区域,法定假日以及其他非法定假日。
intar date1 = date(2021, 9, 1);
var date2 = date(2021, 9, 7);
networkdays(date1, date2);
//返回5
var date1 = date(2021, 9, 1);
var date2 = date(2021, 9, 7);
var a = networkdays(date1, date2, [date(2021, 9, 2), date(2021, 9, 3)]);
//返回3
nownow()返回当前日期和时间。datenow()
quarterquarter(Object date)返回日期对象的季度[1,4]。int
quarter(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))
//返回3
secondsecond(Object dateobj)将序列号转换为秒。int
second(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))
debug(a)
//返回5
timetime(int hour, int minute, int second)返回特定时间的序列号。double
time(11, 10, 5)
//返回0.46533564814814815
timevaluetimevalue(Object dateobj)返回给定日期对象的序列号(0到0.99999999)。double
timevalue(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))
//返回0.46533564814814815
todaytoday()返回当前日期。datetoday()
weekdayweekday(Object dateobj, Object type)
以整数的形式返回给定日期的周。
type为可选参数,如果设置值为数字1或省略,则返回的值为1至7, 代表星期天到星期六;设置的数字是2则返回的值为1至7 ,代表星期一到星期天;如果设置的值为数字3,则返回的值为0至6,代表星期一到星期天。
int
weekday(date(2021, 5, 28))
//返回6
weekday(date(2021, 5, 28), 2)
//返回5
weekday(date(2021, 5, 28), 3)
//返回4
weekdaynameweekdayname(Object dateObject)返回当前日期是星期几。string
weekdayname(date(2021, 5, 28))
//返回星期五
weeknumweeknum(Object dateobj, Object type)将序列号转换为代表该星期为一年中第几周的数字。int
weeknum(date(2021, 1, 3))
//返回2
weeknum(date(2021, 1, 3), 2)
//返回1
workdayworkday(Object startobj, int days, Object holidaysObj)
获取匹配工作日结束前或后的日期。
参数1:代表起始日期。
参数2:代表往后或往前计算的工作日天数。
参数3:可选。指定节假日,表示不在工作日历中的一个或多个日期所构成的可选区域,法定假日以及其他非法定假日。
object
workday(date(2021, 1, 3), 6)
//返回2021.1.11
workday(date(2021, 1, 3), 6, [date(2021, 1, 4)])
//返回2021.1.12
yearyear(Object dateobj)返回日期对象的年份。int
year(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))
返回2021
yearfracyearfrac(Object start, Object end, Object basis)
返回start_date和end_date 之间的天数占全年天数的百分比。
参数1:起始日期。
参数2:结束日期。
参数3:日基准。0或者省略:US 30/360;1:实际天数/ 一年实际天数;2:实际天数/360;3:实际天数/365;4:欧洲30/360。
double
var date1 = date(2021, 9, 1);
var date2 = date(2021, 9, 7);
yearfrac(date1, date2);
//返回0.016666666666666666












作者: happypanda    时间: 3 天前





欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4