日期时间函数

<< Click to Display Table of Contents >>

当前位置:  制作可视化报告 > 脚本 > 永洪脚本函数 > 全局函数 

日期时间函数

复制链接

函数

语法

说明

返回类型

举例

date

date(int year, int month, int day)

返回特定日期的序列号。

date

date(2021,1,1)

//返回 Fri Jan 01 00:00:00 CST 2021

datevalue

datevalue(Object date)

将文本格式的日期转换为序列号,初始日期为1900-1-1。

int

datevalue(date(2021,1,1)) = 44195

dateTrunc

dateTrunc(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

day

day(Object dateobj)

将序列号转换为月份日期。

int

day(date(2005, 5, 28));

//返回28

dayofyear

dayofyear(Object dateobj)

返回一年中的天数。

int

dayofyear(date(2005, 5, 28))

//返回148

days360

days360(Object startobj, Object endobj, Object basis)

以一年360天为基准计算两个日期间的天数。

参数1:起始日期。

参数2:结束日期。

参数3:可选。表示规定了计算中是采用欧洲方法还是美国方法:若为FALSE或者省略,则表示使用欧洲方法;若为TRUE,则表示使用美国方法。

int

days360(date(2005,1,1), date(2005, 5, 28))

//返回147

edate

edate(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日

eomonth

eomonth(Object dateobj, int monthNo)

返回指定月数之前或之后的月份的最后一天。

参数1:日期。

参数2:整数值,可以为负数。

date

eomonth(date(2005, 5, 28), 5)

//返回2005年10月31日

hour

hour(Object dateobj)

返回日期对象的小时数(0到23)。

int

hour(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))

//返回11

minute

minute(Object dateobj)

返回日期对象的分钟数(0到59)。

int

minute(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))

//返回10

month

month(Object dateobj)

返回日期对象的月数(1到12)。

int

month(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))

返回9

monthname

monthname(Object dateObj)

返回日期的月份。

string

monthname(date(2005, 5, 28))

//返回5月

networkdays

networkdays(Object startobj, Object endobj, Object holidaysObj)

返回两个日期间的全部工作日数。

参数1:起始日期。

参数2:结束日期。

参数3:可选。指定节假日,表示不在工作日历中的一个或多个日期所构成的可选区域,法定假日以及其他非法定假日。

int

var 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

now

now()

返回当前日期和时间。

date

now()

quarter

quarter(Object date)

返回日期对象的季度[1,4]。

int

quarter(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))

//返回3

second

second(Object dateobj)

将序列号转换为秒。

int

second(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))

debug(a)

//返回5

time

time(int hour, int minute, int second)

返回特定时间的序列号。

double

time(11, 10, 5)

//返回0.46533564814814815

timevalue

timevalue(Object dateobj)

返回给定日期对象的序列号(0到0.99999999)。

double

timevalue(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))

//返回0.46533564814814815

today

today()

返回当前日期。

date

today()

weekday

weekday(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

weekdayname

weekdayname(Object dateObject)

返回当前日期是星期几。

string

weekdayname(date(2021, 5, 28))

//返回星期五

weeknum

weeknum(Object dateobj, Object type)

将序列号转换为代表该星期为一年中第几周的数字。

int

weeknum(date(2021, 1, 3))

//返回2

weeknum(date(2021, 1, 3), 2)

//返回1

workday

workday(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

year

year(Object dateobj)

返回日期对象的年份。

int

year(parseDate("2021-09-04 11:10:05", "yyyy-MM-dd HH:mm:ss"))

返回2021

yearfrac

yearfrac(Object start, Object end, Object basis)

返回start_date和end_date 之间的天数占全年天数的百分比。

参数1:起始日期。

参数2:结束日期。

参数2:日基准。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