4071 lines
122 KiB
Markdown
4071 lines
122 KiB
Markdown
# Builtin - 基础 / 日期时间
|
||
|
||
## `now()`
|
||
|
||
返回TDateTime类型的当前日期和时间,与系统参数无关。
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return now(); // 输出40763.59
|
||
```
|
||
|
||
## `date()`
|
||
|
||
返回TDateTime类型的当前日期,时间部分为0,与系统参数无关。
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
// 当前的日期
|
||
return date(); // 输出41656
|
||
```
|
||
|
||
## `encodeDate(year, month, day)`
|
||
|
||
将参数指定的Year,Month,Day作为年、月、日组成一个TDateTime类型返回
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------- | -------- |
|
||
| `year` | integer | 整数,年 |
|
||
| `month` | integer | 整数,月 |
|
||
| `day` | integer | 整数,日 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
date := encodeDate(2011, 8, 6);
|
||
return date; // 输出:40761
|
||
```
|
||
|
||
## `tryStrToDate(s, value)`
|
||
|
||
将字符串S转换成TDateTime类型的日期并存到参数Value中。如果转换成功,则返回真,否则返回假
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------------------------- |
|
||
| `s` | string | 字符串,日期的字符串类型,如"2014-01-17" |
|
||
| `value` | tdatetime | 日期,转化后的日期,返回值 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if tryStrToDate("2010-02-04 ", date) then
|
||
return date; // 输出40213
|
||
```
|
||
|
||
## `strToDateTimeDef(s, default)`
|
||
|
||
将字符串S转换成TDateTime类型的日期和时间,如果转换不成功,则返回Default指定的默认日期和时间。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ----------------------------------------------------- |
|
||
| `s` | string | 字符串,日期时间的字符串类型,如"2014-01-17 10:00:00" |
|
||
| `default` | tdatetime | TDateTime类型,默认值 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return strToDateTimeDef("2011-08-08 16:61:16 ", now()); // 输出当前系统日期时间
|
||
```
|
||
|
||
## `currentYear()`
|
||
|
||
返回整数类型的当前年份,与设置的pn_date无关。
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return currentYear(); // 输出2011
|
||
```
|
||
|
||
## `strToTimeDef(s, default)`
|
||
|
||
将字符串S转换成TDateTime类型的时间,如果转换不成功,则返回Default指定的默认时间。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------------------------------- |
|
||
| `s` | string | 字符串,时间的字符串类型,如"15:20:34" |
|
||
| `default` | tdatetime | TDateTime类型,默认值 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
time := strToTimeDef("15:61:34 ", time());
|
||
return time; // 输出当前系统时间
|
||
```
|
||
|
||
## `formaTDateTime(format, date_time)`
|
||
|
||
根据参数Format给定的格式串将参数DateTime转换成字符串类型返回
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | ------------------------------- |
|
||
| `format` | string | 字符串,格式串 |
|
||
| `date_time` | tdatetime | TDateTime类型,日期时间,默认值 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return formaTDateTime("C", now()); // 输出2011-08-08 16:27:08
|
||
return formaTDateTime("Dddddd", now()); // 输出2011年8月8日
|
||
```
|
||
|
||
## `isLeapYear(year)`
|
||
|
||
返回参数指定的年份Year是否是个闰年,与系统参数无关。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | ------- | -------------- |
|
||
| `year` | integer | 整数,年,年份 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return isLeapYear(2000); // 输出1
|
||
return isLeapYear(2011); // 输出0
|
||
```
|
||
|
||
## `gmtToLocalDateTime(s)`
|
||
|
||
将GMT串转换为日期。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ------ | --------------------------- |
|
||
| `s` | string | 字符串,GMT格式的时间字符串 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
gmt := "Wed, 01 Jan 2014 10:00:00 GMT ";
|
||
datetime := gmtToLocalDateTime(gmt);
|
||
return datetime; // 输出:41640.75 (时间为2014-01-01 18:00:00)
|
||
```
|
||
|
||
## `strToDateDef(s, default)`
|
||
|
||
将字符串S转换成TDateTime类型的日期,如果转换不成功,则返回Default指定的默认日期。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------------------------- |
|
||
| `s` | string | 字符串,日期的字符串类型,如"2014-01-17" |
|
||
| `default` | tdatetime | TDateTime类型,默认值 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return strToDateDef("2010-02-30", date()); // 转换失败输出当前日期40763
|
||
```
|
||
|
||
## `tryStrToDateTime(s, value)`
|
||
|
||
将字符串S转换成TDateTime类型的日期和时间并存到参数Value中。如果转换成功,则返回真,否则返回假
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------------------------- |
|
||
| `s` | string | 字符串,日期的字符串类型,如"2014-01-17" |
|
||
| `value` | tdatetime | 日期时间,返回值 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if tryStrToDateTime("2010-02-04 16:11:35 ", datetime) then
|
||
return datetime; // 输出40213.67
|
||
```
|
||
|
||
## `isValidDateDay(a_year)`
|
||
|
||
判断参数指定的年以及此年的第ADayOfYear天是否是有效日期。返回值类型是布尔型真假值
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ------- | -------------------- |
|
||
| `a_year` | integer | 整数,年,指定的年份 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if isValidDateDay(2010, 345) then
|
||
return "valid "
|
||
else return "not valid ";
|
||
// 输出 valid
|
||
```
|
||
|
||
## `today()`
|
||
|
||
返回今天的日期,不含时间部分
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
datetime := today();
|
||
return dateToStr(datetime); // 输出2011-08-08
|
||
```
|
||
|
||
## `yesterday()`
|
||
|
||
返回昨天的日期,不含时间部分
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
datetime := yesterday();
|
||
return dateToStr(datetime); // 输出2011-08-07
|
||
```
|
||
|
||
## `tomorrow()`
|
||
|
||
返回明天的日期,不含时间部分
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
datetime := tomorrow();
|
||
return dateToStr(datetime); // 输出2011-08-09
|
||
```
|
||
|
||
## `weekOfTheMonth()`
|
||
|
||
(参考文档未提供简述。)
|
||
|
||
返回:any
|
||
|
||
## `recodeSecond(a_value)`
|
||
|
||
将参数ASecond指定的秒数(0至59)替换掉参数AValue中的相应的秒数信息,得到的日期时间类型返回
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------ |
|
||
| `a_value` | tdatetime | 日期时间类型 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
new_time := recodeSecond(strToDateTime("2011-08-10 12:12:12"), 9);
|
||
return dateTimeToStr(new_time); // 输出: 2011-08-10 12:12:09
|
||
```
|
||
|
||
## `startOfADay(a_year, a_month, a_day, a_year)`
|
||
|
||
返回由参数Ayear、Amonth、ADay指定的年月日的最初时间,也就是将日期设定为当天,将时间部分置0
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ------- | --------------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域是[1,9999] |
|
||
| `a_month` | integer | 整数,月,定义域是[1,12] |
|
||
| `a_day` | integer | 整数,日,定义域是[1,31] |
|
||
| `a_year` | integer | 整数,年,年份,定义域是[1,9999] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := startOfADay(2011, 8, 8);
|
||
return dateTimeToStr(year); // 输出: 2011-08-08
|
||
```
|
||
|
||
## `endOfADay(a_year, a_month, a_day, a_year)`
|
||
|
||
返回由参数Ayear、Amonth、ADay指定的年月日的结束时间,也就是将日期设定为当天,将时间部分置为下午11:59:59:999,返回类型是TDateTime
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ------- | -------------------------------- |
|
||
| `a_year` | integer | 整数,年,年份,定义域是[1,9999] |
|
||
| `a_month` | integer | 整数,月,月份,定义域是[1,12] |
|
||
| `a_day` | integer | 整数,日,日期,定义域是[1,31] |
|
||
| `a_year` | integer | 整数,年,年份,定义域是[1,9999] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := endOfADay(2015, 1, 5);
|
||
return dateTimeToStr(year); // 输出: 2015-01-05 23:59:59
|
||
```
|
||
|
||
## `milliSecondSpan(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的毫秒数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
beg_t := strToDateTime('2010-08-01 00:00:00');
|
||
end_t := strToDateTime('2012-08-01 12:00:00');
|
||
milliseconds := secondSpan(beg_t, end_t);
|
||
return milliseconds; // 输出: 63201600000
|
||
```
|
||
|
||
## `tryStrToTime(s)`
|
||
|
||
将字符串S转换成TDateTime类型的时间并存到参数Value中。如果转换成功,则返回真,否则返回假
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ------ | ---------------------------------------- |
|
||
| `s` | string | 字符串,日期的字符串类型,如"2014-01-17" |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if tryStrToTime("15:52:35", time) then
|
||
return time; // 输出0.66
|
||
```
|
||
|
||
## `dateTimeToString(result, format, date_time)`
|
||
|
||
根据参数Format给定的格式串将参数DateTime转换成字符串类型存到参数Result中,其中格式串的使用参照FormaTDateTime函数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ---- | ------------------------------- |
|
||
| `result` | | 字符串,返回值 |
|
||
| `format` | | 字符串,格式串 |
|
||
| `date_time` | | TDateTime类型,需转换的日期时间 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
dateTimeToString(result, 'YYYY-MM-DD HH:NN:SS', now());
|
||
return result; // 输出当期系统日期时间
|
||
```
|
||
|
||
## `encodeTime(hour, min, sec, m_sec)`
|
||
|
||
将参数指定的Hour, Min, Sec, MSec: Integer作为小时、分钟、秒、毫秒组成一个TDateTime类型返回
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------- | ---------- |
|
||
| `hour` | integer | 整数,小时 |
|
||
| `min` | integer | 整数,分钟 |
|
||
| `sec` | integer | 整数,秒 |
|
||
| `m_sec` | integer | 整数,毫秒 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
time1 := encodeTime(12, 35, 35, 100);
|
||
return time1; // 输出:0.52471(12:35:35.1)
|
||
```
|
||
|
||
## `tryEncodeDate(year, month, day, date)`
|
||
|
||
将参数指定的Year,Month,Day作为年、月、日组成一个TDateTime类型寸到参数Date中。如果转换成功,函数返回真,否则返回假
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ------------ |
|
||
| `year` | integer | 整数,年 |
|
||
| `month` | integer | 整数,月 |
|
||
| `day` | integer | 整数,日 |
|
||
| `date` | tdatetime | 日期,返回值 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if tryEncodeDate(2011, 12, 25, date) then
|
||
return date; // 输出:40902
|
||
else
|
||
return "encode error";
|
||
// 输出 encode error
|
||
if tryEncodeDate(2011, 12, 32, date) then
|
||
return date
|
||
else
|
||
return "encode error";
|
||
// 输出 encode error
|
||
```
|
||
|
||
## `tryEncodeTime(hour, min, sec, m_sec, time)`
|
||
|
||
将参数指定的Hour, Min, Sec, MSec: Integer作为小时、分钟、秒、毫秒组成一个TDateTime类型寸到参数Time中。如果转换成功,函数返回真,否则返回假
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------- |
|
||
| `hour` | integer | 整数,小时 |
|
||
| `min` | integer | 整数,分钟 |
|
||
| `sec` | integer | 整数,秒 |
|
||
| `m_sec` | integer | 整数,毫秒 |
|
||
| `time` | tdatetime | 日期,组成的日期 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if tryEncodeTime(12, 20, 30, 200, time) then
|
||
return time // 输出:0.51
|
||
else
|
||
return "eccode error ";
|
||
```
|
||
|
||
## `decodeDate(date_time, year, month, day)`
|
||
|
||
将参数指定的TDateTime类型时间DateTime的年、月、日信息分别存到参数Year,Month,Day中
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | --------------------------------- |
|
||
| `date_time` | tdatetime | TDateTime类型,日期时间(输入值) |
|
||
| `year` | integer | 整数,年(输出值) |
|
||
| `month` | integer | 整数,月(输出值) |
|
||
| `day` | integer | 整数,日(输出值) |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
decodeDate(intToDate(20140115), year, month, day);
|
||
return array(year, month, day );
|
||
// 输出array(2014,1,15)
|
||
```
|
||
|
||
## `decodeDateFully(date_time, year, month, day, dow)`
|
||
|
||
将参数指定的TDateTime类型时间DateTime的年、月、日以及星期几的信息分别存到参数Year,Month,Day,DOW中。如果是闰年,返回真,否则返回假。如果是公元前的年份,则所有参数返回0
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | -------------------------------------------------------------------------------- |
|
||
| `date_time` | tdatetime | TDateTime类型,日期时间 |
|
||
| `year` | integer | 整数,年,输出值 |
|
||
| `month` | integer | 整数,月,输出值 |
|
||
| `day` | integer | 整数,日,输出值 |
|
||
| `dow` | integer | 整数,星期,输出值;结果和DayOfWeek一致,非ISO8601标准。1-7,星期天为1,星期六为7 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
flag := decodeDateFully(intToDate(20140115), year, month, day, dow);
|
||
fname := ifThen(1, '闰年', '平年');
|
||
return array(year, month, day, dow, fname);
|
||
// 返回:array(2014,1,15,4,'闰年')
|
||
```
|
||
|
||
## `decodeTime(date_time, hour, min, sec, m_sec)`
|
||
|
||
将参数指定DateTime的时间的小时、分钟、秒、毫秒分别存到参数Hour, Min, Sec, MSec中。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | ----------------------- |
|
||
| `date_time` | tdatetime | TDateTime类型,日期时间 |
|
||
| `hour` | integer | 整数,小时,输出值 |
|
||
| `min` | integer | 整数,分钟,输出值 |
|
||
| `sec` | integer | 整数,秒,输出值 |
|
||
| `m_sec` | integer | 整数,毫秒,输出值 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
decodeTime(strToTime("13:33:45.500"), hour, min, sec, msec);
|
||
return array(hour, min, sec, msec);
|
||
// 返回 array(13,33,45,500)
|
||
```
|
||
|
||
## `dayOfWeek(date_time)`
|
||
|
||
返回星期几,1代表星期天,7代表星期六。非ISO8601标准,如果需要使用ISO8601标准,请使用DayOfTheWeek
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | ----------------------- |
|
||
| `date_time` | tdatetime | TDateTime类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
dow := dayOfWeek(encodeDate(2011, 8, 8));
|
||
return dow; // 输出:2
|
||
```
|
||
|
||
## `incAMonth(year, month, day, number_of_months)`
|
||
|
||
返回参数Year、Month、Day指定年、月、日的时间之后NumberOfMonths个月的时间,并把这个时间的年、月、日存到参数Year、Month、Day中。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------------ | ------- | -------------- |
|
||
| `year` | integer | 整数,年,年份 |
|
||
| `month` | integer | 整数,月,月份 |
|
||
| `day` | integer | 整数,日,日期 |
|
||
| `number_of_months` | integer | 整数,月数 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := 2011;
|
||
month := 8;
|
||
day := 8;
|
||
incAMonth(year, month, day, 4);
|
||
return encodeDate(year, month, day); // 输出40885
|
||
```
|
||
|
||
## `dateToStr(date_time)`
|
||
|
||
将TDateTime类型的参数DateTime的日期部分转换成字符串,格式是短日期格式
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | ----------------------- |
|
||
| `date_time` | tdatetime | TDateTime类型,日期时间 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := intToDate(20140117);
|
||
return dateToStr(end_t); // 输出 2014-01-17
|
||
```
|
||
|
||
## `timeToStr(date_time)`
|
||
|
||
将TDateTime类型的参数DateTime的时间部分转换成字符串,格式是长时间格式
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | ----------------------- |
|
||
| `date_time` | tdatetime | TDateTime类型,日期时间 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
// 输入时间或者日期时间
|
||
return timeToStr(0.5);
|
||
return timeToStr(now());
|
||
```
|
||
|
||
## `dateTimeToStr(date_time)`
|
||
|
||
将TDateTime类型的参数DateTime的日期和时间转换成字符串,格式是短日期加长时间格式
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | ----------------------- |
|
||
| `date_time` | tdatetime | TDateTime类型,日期时间 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := now();
|
||
return dateTimeToStr(end_t); // 输出当前系统日期时间
|
||
```
|
||
|
||
## `dateTimeToInternetStr(date, to_gmt)`
|
||
|
||
将日期转为Internet格式字符串Friday, 13Jun2008 22:27:04 +0800,当ToGMT为真时,采用GMT时间格式。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | --------- | ---------------------------- |
|
||
| `date` | tdatetime | 日期时间类型,用于转换的时间 |
|
||
| `to_gmt` | bool | 布尔,是否采用GMT时间格式 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := strToDateTime('2014-01-01 10:00:00');
|
||
datetime := dateTimeToInternetStr(end_t, 0);
|
||
return datetime; // 输出Wed, 1 Jan 2014 10:00:00 +0800
|
||
```
|
||
|
||
## `dateTimeGmtToCookieStr(date)`
|
||
|
||
将日期时间(GMT时间)转为Cookie格式字符串Fri, 13-Jun-2008 23:01:56 GMT。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | --------- | ---------------------------- |
|
||
| `date` | tdatetime | 日期时间类型,用于转换的时间 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := strToDateTime('2014-01-01 10:00:00');
|
||
datetime := dateTimeGmtToCookieStr(end_t);
|
||
return datetime; // 输出Wed, 01-Jan-2014 10:00:00 GMT
|
||
```
|
||
|
||
## `dateTimeGmtToHttpStr(date)`
|
||
|
||
将日期时间(GMT时间)转为HTTP格式字符串Fri, 13 Jun 2008 23:01:56 GMT。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | --------- | ------------------------ |
|
||
| `date` | tdatetime | 日期时间,用于转换的时间 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := strToDateTime('2014-01-01 10:00:00');
|
||
datetime := dateTimeGmtToHttpStr(end_t);
|
||
return datetime; // 输出:Wed, 01 Jan 2014 10:00:00 GMT
|
||
```
|
||
|
||
## `dateToInt(date_time)`
|
||
|
||
将日期类型的EndT转换成整数类型
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | -------- |
|
||
| `date_time` | tdatetime | 日期类型 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
date_time := 40559;
|
||
return dateToInt(date_time);
|
||
// 结果:20110116
|
||
```
|
||
|
||
## `intToDate(rdate)`
|
||
|
||
将整型的日期转换成日期类型的日期
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------- | ---- |
|
||
| `rdate` | integer | 整型 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
rdate := 20110116;
|
||
return intToDate(rdate);
|
||
// 结果: 40559
|
||
```
|
||
|
||
## `isInLeapYear(a_value)`
|
||
|
||
判断指定的AValue是否是一个闰年。返回一个布尔真假值
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------ |
|
||
| `a_value` | tdatetime | 日期时间类型 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if isInLeapYear(date) then
|
||
return "this year is a leap year "
|
||
else
|
||
return "this year is not a leap year ";
|
||
```
|
||
|
||
## `isPm(a_value)`
|
||
|
||
判断指定的AValue是否处于下午,就是超过了12:00。返回一个布尔真假值
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------ |
|
||
| `a_value` | tdatetime | 日期时间类型 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if isPm(time()) then
|
||
return "is PM "
|
||
else
|
||
return "is AM ";
|
||
```
|
||
|
||
## `isValidDate(a_year, a_month, a_day)`
|
||
|
||
判断参数指定的的年AYear,月AMonth,日Aday是否是一个有效日期,返回值类型是布尔型真假值
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ------- | -------------------- |
|
||
| `a_year` | integer | 整数,年,指定的年份 |
|
||
| `a_month` | integer | 整数,月,指定的月份 |
|
||
| `a_day` | integer | 整数,日,指定的日期 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if isValidDate(2011, 8, 34) then
|
||
return "right "
|
||
else
|
||
return "wrong ";
|
||
// 输出 wrong
|
||
```
|
||
|
||
## `isValidTime(a_hour, a_minute, a_second, a_milli_second)`
|
||
|
||
判断参数指定的时间是否有效,包括小时AHour,分钟AMinute,秒ASecond,毫秒AmilliSecond,返回值类型是布尔型真假值
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------------- | ------- | ---------- |
|
||
| `a_hour` | integer | 整数,小时 |
|
||
| `a_minute` | integer | 整数,分钟 |
|
||
| `a_second` | integer | 整数,秒 |
|
||
| `a_milli_second` | integer | 整数,毫秒 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if isValidTime(17, 48, 45, 678) then
|
||
return "right time "
|
||
else
|
||
return "wrong time "; // 输出 right time
|
||
```
|
||
|
||
## `isValidDateTime(a_year, a_month, a_day, a_hour, a_month, a_second, amilli_second)`
|
||
|
||
判断参数指定的日期以及时间是否有效,包括小时AHour ,分钟AMinute,秒ASecond,毫秒AmilliSecond,返回值类型是布尔型真假值。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ------- | -------------------- |
|
||
| `a_year` | integer | 整数,年,指定的年份 |
|
||
| `a_month` | integer | 整数,月,指定的月份 |
|
||
| `a_day` | integer | 整数,日,指定的日期 |
|
||
| `a_hour` | integer | 整数,小时,小时 |
|
||
| `a_month` | integer | 整数,月,分钟 |
|
||
| `a_second` | integer | 整数,秒 |
|
||
| `amilli_second` | integer | 整数,毫秒 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if isValidDateTime(2011, 8, 8, 17, 57, 56, 245) then
|
||
return "right "
|
||
else
|
||
return "wrong ";
|
||
// 输出 right
|
||
```
|
||
|
||
## `isValidDateWeek(a_year, aweek_of_year, aday_of_week)`
|
||
|
||
判断参数指定的年以及此年的第AweekOfYear周以及此周的第AdayOfWeek天是否是有效日期。返回值类型是布尔型真假值
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ------- | ----------------------------- |
|
||
| `a_year` | integer | 整数,指定的年份 |
|
||
| `aweek_of_year` | integer | 整数,表示在Ayear年份的第几周 |
|
||
| `aday_of_week` | integer | 整数,表示指定周的第几天 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if isValidDateWeek (2010, 15, 4) then
|
||
return "valid "
|
||
else return "not valid ";
|
||
// 输出 valid
|
||
```
|
||
|
||
## `isValidDateMonthWeek(a_year, a_month, aweek_of_month, aday_of_week)`
|
||
|
||
判断参数指定的年以及此年的第Amonth月以及此月的第AWeekOfMonth周以及此周的第AdayOfWeek天是否是有效日期。返回值类型是布尔型真假值
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------------- | ------- | ----------------------------------- |
|
||
| `a_year` | integer | 整数,年份 |
|
||
| `a_month` | integer | 整数,月份 |
|
||
| `aweek_of_month` | integer | 整数,表示在Ayear年Amonth月的第几周 |
|
||
| `aday_of_week` | integer | 整数,表示指定周的第几天 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
if isValidDateMonthWeek(2000, 10, 2, 3) then
|
||
return "valid "
|
||
else return "not valid ";
|
||
// 输出 valid
|
||
```
|
||
|
||
## `weeksInYear(a_value)`
|
||
|
||
返回AValue所在的年份共含有多少个周。周数的认定是依据ISO8601的标准,关于此标准的解释请参阅附注。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------- |
|
||
| `a_value` | tdatetime | 日期类型 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
num := weeksInYear (date());
|
||
return num; // 输出52
|
||
```
|
||
|
||
## `weeksInAYear(a_year)`
|
||
|
||
返回年份AYear共含有多少个周。周数的认定是依据ISO8601的标准,关于此标准的解释请参阅附注。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ------- | ------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域[1,9999] |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
num := weeksInAYear (2010);
|
||
return num; // 输出52
|
||
```
|
||
|
||
## `daysInYear(a_value)`
|
||
|
||
返回AValue所在的年份共含有多少天。参数:
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------- |
|
||
| `a_value` | tdatetime | 日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
days := daysInYear (date());
|
||
return days; // 输出365
|
||
```
|
||
|
||
## `daysInAYear(a_year)`
|
||
|
||
返回年份AYear共含有多少天。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ------- | ------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域[1,9999] |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
days := daysInAYear (2010);
|
||
return days; // 输出365
|
||
```
|
||
|
||
## `daysInMonth(a_value)`
|
||
|
||
返回AValue所在的月份共含有多少天。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---- |
|
||
| `a_value` | tdatetime | 日期 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
days := daysInMonth (intToDate(20131201));
|
||
return days; // 输出31
|
||
```
|
||
|
||
## `daysInAMonth(a_year, a_month)`
|
||
|
||
返回由Ayear指定的年的第Amonth月共含有多少天。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ------- | ------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域[1,9999] |
|
||
| `a_month` | integer | 整数,月,定义域[1,12] |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
days := daysInAMonth (2010, 2);
|
||
return days; // 输出28
|
||
```
|
||
|
||
## `isToday(a_value)`
|
||
|
||
判断参数AValue的日期是否在今天,返回值类型是布尔型真假值,如果在今天为真,否则为假
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------- |
|
||
| `a_value` | tdatetime | 日期类型 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
today := today();
|
||
aday := today+2;
|
||
if isToday(aday) then
|
||
return "aday is today "
|
||
else
|
||
return "aday is not today "; // 输出aday is not today
|
||
```
|
||
|
||
## `isSameDay(a_value, a_basis)`
|
||
|
||
判断参数AValue和参数Abasis是否在同一天发生。返回值类型是布尔型真假值,如果是同一天,返回真,否则为假
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------- |
|
||
| `a_value` | tdatetime | 日期类型 |
|
||
| `a_basis` | tdatetime | 日期类型 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
today := today();
|
||
aday := today+2;
|
||
if isSameDay(aday, today) then
|
||
return "sameday "
|
||
else
|
||
return " not sam day"; // 输出:not sameday
|
||
```
|
||
|
||
## `dateOf(a_value)`
|
||
|
||
截取日期时间类型的日期数据
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------ |
|
||
| `a_value` | tdatetime | 日期时间类型 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return dateOf(now()); // 返回今天的日期
|
||
```
|
||
|
||
## `timeOf(a_value)`
|
||
|
||
返回一个只含有时间信息的TDateTime类型,天数部分设为0,就是1899年12月30日
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------ |
|
||
| `a_value` | tdatetime | 日期时间类型 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return timeOf (now()); // 返回当前所处的时间点
|
||
// 截取某个日期时间的时间点
|
||
end_t := strToDateTime("2014-01-17 10:00:00");
|
||
return timeOf(end_t); // 返回0.4167
|
||
```
|
||
|
||
## `yearOf(a_value)`
|
||
|
||
返回参数AValue中包含的年份信息。值域[1,9999]
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------- |
|
||
| `a_value` | tdatetime | 日期类型 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := yearOf(strToDate('2010-08-08'));
|
||
return year;
|
||
// 输出: 2010
|
||
```
|
||
|
||
## `monthOf(a_value)`
|
||
|
||
返回参数AValue中包含的月份信息。值域[1,12]
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------- |
|
||
| `a_value` | tdatetime | 日期类型,日期 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
month := monthOf(strToDate('2010-08-08'));
|
||
return month; // 输出: 8
|
||
```
|
||
|
||
## `dayOf(a_value)`
|
||
|
||
返回参数AValue中包含的日期信息。值域[1,31]
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------- |
|
||
| `a_value` | tdatetime | 日期类型,日期 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
hour := dayOf(strToDateTime('2011-08-08 11:22:06'));
|
||
return hour; // 输出: 8
|
||
```
|
||
|
||
## `hourOf(a_value)`
|
||
|
||
返回参数AValue中包含的小时信息。值域[0,23],同函数是HourOfTheDay
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------------ |
|
||
| `a_value` | tdatetime | 日期类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
hour := hourOf(strToDateTime('2011-08-08 11:22:06'));
|
||
return hour; // 输出: 11
|
||
```
|
||
|
||
## `minuteOf(a_value)`
|
||
|
||
返回参数AValue中包含的分钟信息。值域[0,59]
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
minute := minuteOf(strToDateTime('2011-08-08 11:22:06'));
|
||
return minute; // 输出: 22
|
||
```
|
||
|
||
## `secondOf(a_value)`
|
||
|
||
返回参数AValue中包含的秒信息。值域[0,59],
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
second := secondOf(strToDateTime('2011-08-08 11:22:06'));
|
||
return second; // 输出: 6
|
||
```
|
||
|
||
## `milliSecondOf(a_value)`
|
||
|
||
返回参数AValue中包含的毫秒信息。值域[0,999],
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
millisecond := milliSecondOf(strToDateTime('2011-08-08 11:22:06.990'));
|
||
return millisecond; // 输出: 990
|
||
```
|
||
|
||
## `startOfTheYear(a_value)`
|
||
|
||
返回参数AValue中包含的年份的最初时间,将日期设定为1月1日,无时间部分。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------- |
|
||
| `a_value` | tdatetime | 日期类型,日期 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
d_time := startOfTheYear(strToDateTime('2011-08-08 11:22:06.990'));
|
||
return dateTimeToStr(d_time); // 输出: 2011-01-01
|
||
```
|
||
|
||
## `endOfTheYear(a_value)`
|
||
|
||
返回参数AValue中所属年的最后一个年自然日的日期时间,如果输入的参数AValue中包含时间数据,则返回的日期中也包含时间数据;否则无时间部分。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------------ |
|
||
| `a_value` | tdatetime | 日期类型,日期时间 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := endOfTheYear(strToDateTime('2011-08-08 11:22:06.990'));
|
||
return dateTimeToStr(year); // 输出: 2011-12-31 23:59:59
|
||
```
|
||
|
||
## `startOfAYear(a_year)`
|
||
|
||
返回参数Ayear指定的年份的年初时间,返回的年初日期无时间部分
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ------- | --------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域是[1,9999] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := startOfAYear(2011);
|
||
return dateTimeToStr(year); // 输出: 2011-01-01
|
||
```
|
||
|
||
## `endOfAYear(a_year)`
|
||
|
||
返回参数Ayear指定的年份的结束时间,将日期设定为12月31日,时间部分为23:59:59:999,返回类型是日期时间
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ------- | --------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域是[1,9999] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := endOfAYear(2011);
|
||
return dateTimeToStr(year); // 输出: 2011-12-31 23:59:59
|
||
```
|
||
|
||
## `startOfTheMonth(a_value)`
|
||
|
||
返回参数AValue指定的年月的月初时间,将日期设定为当月的第1自然日,时间部分为0。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ----------------------- |
|
||
| `a_value` | tdatetime | TDateTime类型,日期时间 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := startOfTheMonth(strToDateTime('2011-08-08 12:48:22.990'));
|
||
return dateTimeToStr(year); // 输出: 2011-08-01
|
||
```
|
||
|
||
## `endOfTheMonth(a_value)`
|
||
|
||
返回参数AValue指定的年月的月结束时间,将日期设定为当月最后1个自然日,将时间部分为23:59:59:999,返回类型是TDateTime
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ----------------------- |
|
||
| `a_value` | tdatetime | TDateTime类型,日期时间 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := endOfTheMonth(strToDateTime('2011-08-08 12:48:22.990'));
|
||
return dateTimeToStr(year); // 输出: 2011-08-31 23:59:59
|
||
```
|
||
|
||
## `startOfAMonth(a_year, a_month)`
|
||
|
||
返回参数AYear指定的年份的AMonth月的最初时间,将日期设定为当月第1自然日,时间部分为0
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ------- | --------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域是[1,9999] |
|
||
| `a_month` | integer | 整数,月,定义域是[1,12] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
tdate := startOfAMonth(2011, 08);
|
||
return dateTimeToStr(tdate); // 输出: 2011-08-01
|
||
```
|
||
|
||
## `endOfAMonth(a_year, a_month)`
|
||
|
||
返回参数AYear指定的年份的AMonth月的最初时间,将日期设定为当月最后一日,将时间部分置为下午11:59:59:999,返回类型是TDateTime
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ------- | --------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域是[1,9999] |
|
||
| `a_month` | integer | 整数,月,定义域是[1,12] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
ttime := endOfAMonth(2011, 08);
|
||
return dateTimeToStr(ttime); // 输出: 2011-08-31 23:59:59
|
||
```
|
||
|
||
## `startOfTheWeek(a_value)`
|
||
|
||
返回参数AValue指定的时间所属周的最初时间,将日期设定为当周的第1个自然日,时间部分为0
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ----------------------- |
|
||
| `a_value` | tdatetime | TDateTime类型,日期时间 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := startOfTheWeek(strToDateTime('2011-08-07'));
|
||
return dateTimeToStr(year); // 输出: 2011-08-01
|
||
// 其中2011-08-07是星期天,2011-08-01是星期一
|
||
```
|
||
|
||
## `endOfTheWeek(a_value)`
|
||
|
||
返回参数AValue指定的时间所属周的结束时间,将日期设定为当周的最后1个自然日,将时间部分置为下午11:59:59:999,返回类型是TDateTime
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := endOfTheWeek(strToDateTime('2011-08-01'));
|
||
return dateTimeToStr(year); // 输出: 2011-08-07 23:59:59
|
||
// 其中2011-08-01是星期一,输出结果2011-08-07是星期天
|
||
```
|
||
|
||
## `startOfAWeek(a_year, aweek_of_year, aday_of_week)`
|
||
|
||
返回参数AYear指定的年份的第AWeekOfYear周的最初时间,将日期设定为当周的第1日,无时间部分。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ------- | ----------------------------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域是[1,9999] |
|
||
| `aweek_of_year` | integer | 整数,年,表示当年的第几周 |
|
||
| `aday_of_week` | integer | 整数,表示当周的第几天,默认为1,既一周的最开始 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
// 取当年的第一个完整周
|
||
year := startOfAWeek(2011, 1, 1);
|
||
return dateTimeToStr(year); // 输出: 2011-01-03
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
year := startOfAWeek(2011, 2, 1);
|
||
return dateTimeToStr(year); // 输出:2011-01-10
|
||
```
|
||
|
||
## `endOfAWeek(a_year, aweek_of_year, aday_of_week)`
|
||
|
||
返回参数AYear指定的年份的第AWeekOfYear周的结束时间,如果不设定参数ADayOfWeek,则取当周最后一个自然日,时间部分为23:59:59:999,返回类型是TDateTime。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ------- | ------------------------------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域是[1,9999] |
|
||
| `aweek_of_year` | integer | 整数,年,表示当年的第几周 |
|
||
| `aday_of_week` | integer | 整数,表示当周的第几天,默认为7,既一周的最后一天 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
year := endOfAWeek(2011, 1, 7);
|
||
return dateTimeToStr(year); // 输出: 2011-01-09 23:59:59
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
year := endOfAWeek (2011, 2, 7);
|
||
return dateTimeToStr(year); // 输出:2011-01-16 23:59:59
|
||
```
|
||
|
||
## `startOfTheDay(a_value)`
|
||
|
||
返回由参数AValue指定的日期的最初时间,也就是将日期设定为当天,将时间部分置0,返回类型是日期
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ----------------------- |
|
||
| `a_value` | tdatetime | TDateTime类型,日期时间 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := startOfTheDay(strToDateTime('2011-08-08 23:59:59'));
|
||
return dateTimeToStr(year); // 输出: 2011-08-08
|
||
```
|
||
|
||
## `endOfTheDay(a_value)`
|
||
|
||
返回由参数AValue指定的日期的结束时间,也就是将日期设定为当天,时间部分为23:59:59:999,返回类型是日期时间
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
year := endOfTheDay(strToDateTime('2011-08-08 01:01:10'));
|
||
return dateTimeToStr(year); // 输出: 2011-08-08 23:59:59
|
||
```
|
||
|
||
## `monthOfTheYear(a_value)`
|
||
|
||
返回由参数AValue指定的月份是当年的第几个月,与MonthOf函数相同。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---- |
|
||
| `a_value` | tdatetime | 日期 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
month := monthOfTheYear(strToDate('2011-08-08'));
|
||
return month; // 输出: 8
|
||
```
|
||
|
||
## `weekOfTheYear(a_value)`
|
||
|
||
返回由参数AValue指定的时间是处于当年的第几个周,与函数WeekOf相同。返回整数,值域是[1,53]
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------- |
|
||
| `a_value` | tdatetime | 日期类型,日期 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
week := weekOfTheYear(strToDate('2011-01-03'));
|
||
return week; // 输出: 1
|
||
```
|
||
|
||
## `dayOfTheYear(a_value)`
|
||
|
||
返回由参数AValue指定的日期是当年的第几天。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------- |
|
||
| `a_value` | tdatetime | 日期类型,日期 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
d := dayOfTheYear(strToDate('2011-01-03'));
|
||
return d; // 输出: 3
|
||
```
|
||
|
||
## `hourOfTheYear(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当年的第几个小时
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
hour := hourOfTheYear(strToDateTime('2011-01-03 10:00:00'));
|
||
return hour; // 输出: 58
|
||
```
|
||
|
||
## `minuteOfTheYear(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当年的第几分钟
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
minute := minuteOfTheYear(strToDateTime('2011-01-03 10:00:00'));
|
||
return minute; // 输出: 3480
|
||
```
|
||
|
||
## `secondOfTheYear(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当年的第几秒种
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
second := secondOfTheYear(strToDateTime('2011-01-03'));
|
||
return second; // 输出: 208800
|
||
```
|
||
|
||
## `milliSecondOfTheYear(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当年的第几毫秒
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
millisecond := milliSecondOfTheYear(strToDateTime('2011-01-03'));
|
||
return millisecond; // 输出: 172800000
|
||
```
|
||
|
||
## `dayOfTheMonth(a_value)`
|
||
|
||
返回由参数AValue指定的日期是当月的第几天
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------- |
|
||
| `a_value` | tdatetime | 日期类型,日期 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
day := dayOfTheMonth(strToDateTime('2011-01-22'));
|
||
return day; // 输出: 22
|
||
```
|
||
|
||
## `hourOfTheMonth(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当月的第几小时
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
hour := hourOfTheMonth(strToDateTime('2011-01-22 10:00:00'));
|
||
return hour; // 输出: 514
|
||
```
|
||
|
||
## `minuteOfTheMonth(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当月的第几分钟
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
minute := minuteOfTheMonth(strToDateTime('2011-01-22 10:00:00'));
|
||
return minute; // 输出: 30840
|
||
```
|
||
|
||
## `secondOfTheMonth(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当月的第几秒种
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
second := secondOfTheMonth(strToDateTime('2011-01-22 10:00:00'));
|
||
return second; // 输出: 1850400
|
||
```
|
||
|
||
## `milliSecondOfTheMonth(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当月的第几毫秒
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
millisecond := milliSecondOfTheMonth(strToDateTime('2011-01-22 10:00:00'));
|
||
return millisecond; // 输出: 1850400000
|
||
```
|
||
|
||
## `dayOfTheWeek(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当周的第几天
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------- |
|
||
| `a_value` | tdatetime | 日期类型,日期 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
dayofweek := dayOfTheWeek(strToDateTime('2011-01-03'));
|
||
return dayofweek;
|
||
// 输出: 1
|
||
```
|
||
|
||
## `hourOfTheWeek(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当周的第几小时
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------ |
|
||
| `a_value` | tdatetime | 日期时间类型 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
hour := hourOfTheWeek(strToDateTime('2011-01-05 10:00:00'));
|
||
return hour; // 输出: 58
|
||
```
|
||
|
||
## `minuteOfTheWeek(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当周的第几分钟
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
minute := minuteOfTheWeek(strToDateTime('2011-01-05 10:00:00'));
|
||
return minute; // 输出: 3480
|
||
```
|
||
|
||
## `secondOfTheWeek(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当周的第几秒钟
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
second := secondOfTheWeek(strToDateTime('2011-01-05 10:00:00'));
|
||
return second; // 输出: 208800
|
||
```
|
||
|
||
## `milliSecondOfTheWeek(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当周的第几毫秒
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------------ |
|
||
| `a_value` | tdatetime | 日期时间类型,日期 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
millisecond := milliSecondOfTheWeek(strToDateTime('2011-01-05 10:00:00'));
|
||
return millisecond; // 输出: 208800000
|
||
```
|
||
|
||
## `hourOfTheDay(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当天的第几小时,返回整数,值域是[1,23]
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
hour := hourOfTheDay(strToDateTime('2011-01-05 23:22:22'));
|
||
return hour; // 输出: 23
|
||
```
|
||
|
||
## `minuteOfTheDay(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当天的第几分钟,起始点是00:00:00
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
minute := minuteOfTheDay(strToDateTime('2011-01-05 01:22:22'));
|
||
return minute; // 输出: 82
|
||
```
|
||
|
||
## `secondOfTheDay(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当天的第几秒,起始点是00:00:00
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
second := secondOfTheDay(strToDateTime('2011-01-05 01:30:01'));
|
||
return second; // 输出: 5401
|
||
```
|
||
|
||
## `milliSecondOfTheDay(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当天的第几毫秒,起始点是00:00:00
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
millisecond := milliSecondOfTheDay(strToDateTime('2011-01-05 01:30:01'));
|
||
return millisecond; // 输出: 5401000
|
||
```
|
||
|
||
## `minuteOfTheHour(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当前小时的第几分钟
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
minute := minuteOfTheHour(strToDateTime('2011-01-05 01:30:01'));
|
||
return minute; // 输出: 30
|
||
```
|
||
|
||
## `secondOfTheHour(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当前小时的第几秒
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
second := secondOfTheHour(strToDateTime('2011-01-05 01:30:01'));
|
||
return second; // 输出: 1801
|
||
```
|
||
|
||
## `milliSecondOfTheHour(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当前小时的第几毫秒
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
millisecond := milliSecondOfTheHour(strToDateTime('2011-01-05 01:30:01'));
|
||
return millisecond; // 输出: 1801000
|
||
```
|
||
|
||
## `secondOfTheMinute(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当前分钟的第几秒
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
second := secondOfTheMinute(strToDateTime('2011-01-05 01:30:01'));
|
||
return second; // 输出: 1
|
||
```
|
||
|
||
## `milliSecondOfTheMinute(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当前分钟的第几毫秒
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
millisecond := milliSecondOfTheMinute(strToDateTime('2011-01-05 01:30:01'));
|
||
return millisecond; // 输出: 1000
|
||
```
|
||
|
||
## `milliSecondOfTheSecond(a_value)`
|
||
|
||
返回由参数AValue指定的时间是当前秒钟的第几毫秒
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
millisecond := milliSecondOfTheSecond(strToDateTime('2011-01-05 01:30:01.990'));
|
||
return millisecond; // 输出:990
|
||
```
|
||
|
||
## `withinPastYears(a_now, athen, a_years)`
|
||
|
||
判断时间ANow和时间AThen的时间间隔是否在Ayears年内。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,查找时间 |
|
||
| `athen` | tdatetime | 日期时间类型,查找起始时间 |
|
||
| `a_years` | integer | 整数,年份 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
// 2010年1月5日至2013年1月4日之间,不足3年,因此,判断为2年内
|
||
flag := withinPastYears(strToDateTime('2010-01-05'), strToDateTime('2013-01-04'), 2);
|
||
return flag; // 输出: 1
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
// //2010年1月5日至2013年1月5日之间,相隔 3年,因此,判断为不在2年内
|
||
flag := withinPastYears(strToDateTime('2010-01-05'), strToDateTime('2013-01-05'), 2);
|
||
return flag; // 输出: 0
|
||
```
|
||
|
||
## `withinPastMonths(a_now, athen, a_months)`
|
||
|
||
判断时间ANow和时间AThen的时间间隔是否在Amonths月内。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------- | --------- | -------------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,查找时间 |
|
||
| `athen` | tdatetime | 日期时间类型,查找起始时间 |
|
||
| `a_months` | integer | 整数,月份个数 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
// 2011年1月5日到2011年7月6日的天数是182,而天数必须大于182.62(6*30.4375),才能达到6个月,所以,1月5日还属于7月6日前推5个月范围内。
|
||
flag := withinPastMonths(strToDateTime('2011-01-05'), strToDateTime('2011-07-06'), 5);
|
||
return flag; // 输出: 1
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
flag := withinPastMonths(strToDateTime('2011-01-05'), strToDateTime('2011-07-07'), 5);
|
||
return flag; // 输出: 0
|
||
```
|
||
|
||
## `withinPastWeeks(a_now, athen, a_weeks)`
|
||
|
||
判断时间ANow和时间AThen的时间间隔是否在AWeeks周内。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,查找时间 |
|
||
| `athen` | tdatetime | 日期时间类型,查找起始时间 |
|
||
| `a_weeks` | integer | 整数,周数 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
// 2011年1月1日至2011年1月28日之间的天数为27天,不足28天(4*7),所以仍在3周内
|
||
flag := withinPastWeeks(strToDateTime('2011-01-01'), strToDateTime('2011-01-28'), 3);
|
||
return flag; // 输出: 1
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
// 2011年1月1日至2011年1月28日之间的天数为27天,不足28天(4*7),所以仍在3周内
|
||
flag := withinPastWeeks(strToDateTime('2011-01-01'), strToDateTime('2011-01-29'), 3);
|
||
return flag; // 输出: 0
|
||
```
|
||
|
||
## `withinPastDays(a_now, athen, a_days)`
|
||
|
||
判断时间ANow和时间AThen的时间间隔是否在ADays自然日内,与系统参数无关。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | --------- | -------------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,查找时间 |
|
||
| `athen` | tdatetime | 日期时间类型,查找起始时间 |
|
||
| `a_days` | integer | 整数,天数 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
flag := withinPastDays(strToDate('2011-01-01'), strToDate('2011-01-11'), 10);
|
||
return flag; // 输出: 1
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
flag := withinPastDays(strToDate('2011-01-01'), strToDate('2011-01-12'), 10);
|
||
return flag; // 输出: 0
|
||
```
|
||
|
||
## `withinPastHours(a_now, athen, a_hours)`
|
||
|
||
判断时间ANow和时间AThen的时间间隔是否在AHours个小时内。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,查找时间 |
|
||
| `athen` | tdatetime | 日期时间类型,查找起始时间 |
|
||
| `a_hours` | integer | 整数,小时个数 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
// 不足11个小时
|
||
flag := withinPastHours(strToDateTime('2011-01-01 00:00:00'), strToDateTime('2011-01-01 10:30:00'), 10);
|
||
return flag; // 输出: 1
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
flag := withinPastHours(strToDateTime('2011-01-01 00:00:00'), strToDateTime('2011-01-01 11:00:00'), 10);
|
||
return flag; // 输出: 0
|
||
```
|
||
|
||
## `withinPastMinutes(a_now, athen, a_minutes)`
|
||
|
||
判断时间ANow和时间AThen的时间间隔是否在AMinutes分钟内。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | -------------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,查找时间 |
|
||
| `athen` | tdatetime | 日期时间类型,查找起始时间 |
|
||
| `a_minutes` | integer | 整数,分钟个数 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
flag := withinPastMinutes(strToDateTime('2011-01-01 10:00:00'), strToDateTime('2011-01-01 10:10:00'), 10);
|
||
return flag; // 输出: 1
|
||
flag := withinPastMinutes(strToDateTime('2011-01-01 10:00:00'), strToDateTime('2011-01-01 10:11:00'), 10);
|
||
return flag; // 输出: 0
|
||
```
|
||
|
||
## `withinPastSeconds(a_now, athen, a_seconds)`
|
||
|
||
判断时间ANow和时间AThen的时间间隔是否在ASeconds秒内。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | -------------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,查找时间 |
|
||
| `athen` | tdatetime | 日期时间类型,查找起始时间 |
|
||
| `a_seconds` | integer | 整数,分钟数 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
flag := withinPastSeconds(strToDateTime('2011-01-01 10:00:00'), strToDateTime('2011-01-01 10:00:10'), 10);
|
||
return flag; // 输出: 1
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
flag := withinPastSeconds(strToDateTime('2011-01-01 10:00:00'), strToDateTime('2011-01-01 10:00:11'), 10);
|
||
return flag; // 输出: 0
|
||
```
|
||
|
||
## `withinPastMilliSeconds(a_now, athen, a_milli_seconds)`
|
||
|
||
判断时间ANow和时间AThen的时间间隔是否在AMilliSeconds毫秒内。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------------- | --------- | -------------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,查找时间 |
|
||
| `athen` | tdatetime | 日期时间类型,查找起始时间 |
|
||
| `a_milli_seconds` | integer | 整数,毫秒数 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
a_now := strToDateTime('2011-01-01 10:00:00.100');
|
||
a_then := strToDateTime('2011-01-01 10:00:00.200');
|
||
flag := withinPastMilliSeconds(a_now, a_then , 100);
|
||
return flag; // 输出: 1
|
||
```
|
||
|
||
## `yearsBetween(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的年数。由于年份不具有相同的长度,例如闰年比非闰年长一天,所以函数的计算是基于一个每年有365.25天的假设进行,并且舍掉了小数尾数。因此我们计算一个非闰年的1月1日到12月31日的结果是0年,而计算一个闰年的1月1日到12月31日的结果是1年。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
years := yearsBetween(strToDateTime('2009-01-01 00:00:00'), strToDateTime('2011-01-01 23:59:59.999'));
|
||
return years; // 输出: 2
|
||
```
|
||
|
||
## `monthsBetween(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的月数。由于月份不具有有相同的长度,所以函数的计算是基于一个每月有30.4375天的假设进行,并且舍掉了小数尾数。因此我们计算从1月1日到1月28日的结果是0,而计算2月1日到3月1日的结果也是0。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
months := monthsBetween(strToDateTime('2011-05-01'), strToDateTime('2011-08-01'));
|
||
return months; // 输出: 3
|
||
```
|
||
|
||
## `weeksBetween(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的周数。周数的计算同样舍掉了小数尾数。例如我们计算从1月1日的12:00 AM到1月6日的Jan 6 at 11:58 PM的结果是0,因为差了1分钟。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
weeks := weeksBetween(strToDateTime('2011-05-01'), strToDateTime('2011-08-01'));
|
||
return weeks; // 输出: 13
|
||
```
|
||
|
||
## `daysBetween(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的天数(自然日)。天数的计算同样舍掉了小数尾数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
days := daysBetween(strToDate('2011-05-01'), strToDate('2011-08-01'));
|
||
return days; // 输出: 92
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
// 不足完整的一天:39815.04167-39814.08333=0.95834
|
||
// 2009-01-01 02:00:00:日期时间为39814.08333
|
||
// 2009-01-02 01:00:00:日期时间为39815.04167
|
||
days := daysBetween(strToDateTime('2009-01-01 02:00:00'), strToDateTime('2009-01-02 01:00:00'));
|
||
return days; // 输出: 0
|
||
```
|
||
|
||
## `hoursBetween(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的小时数。小时数的计算同样舍掉了小数尾数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
hours := hoursBetween(strToDateTime('2011-08-01 00:00:00'), strToDateTime('2011-08-01 12:00:00'));
|
||
return hours; // 输出: 12
|
||
```
|
||
|
||
## `minutesBetween(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的分钟数。分钟数的计算同样舍掉了小数尾数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
minutes := minutesBetween(strToDateTime('2011-08-01 00:00:00'), strToDateTime('2011-08-01 12:00:00'));
|
||
return minutes; // 输出: 720
|
||
```
|
||
|
||
## `secondsBetween(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的秒数。秒数的计算同样舍掉了小数尾数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
seconds := secondsBetween(strToDateTime('2011-08-01 00:00:00'), strToDateTime('2011-08-01 12:00:00'));
|
||
return seconds; // 输出: 43200
|
||
```
|
||
|
||
## `milliSecondsBetween(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的毫秒数,返回整数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
beg_t := strToDateTime('2011-08-01 00:00:00');
|
||
end_t := strToDateTime('2011-08-01 12:00:00');
|
||
milliseconds := milliSecondsBetween(beg_t, end_t);
|
||
return milliseconds; // 输出: 43200000
|
||
```
|
||
|
||
## `yearSpan(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的年数。由于年份不具有相同的长度,例如闰年比非闰年长一天,所以函数的计算是基于一个每年有365.25天的假设进行。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
years := yearSpan(strToDateTime('2010-08-01 00:00:00'), strToDateTime('2012-08-01 12:00:00'));
|
||
return years; // 输出: 2.00274
|
||
```
|
||
|
||
## `monthSpan(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的月数。由于月份不具有相同的长度,所以函数的计算是基于一个每月有30.4375天的假设进行。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
months := monthSpan(strToDateTime('2010-08-01 00:00:00'), strToDateTime('2012-08-01 12:00:00'));
|
||
return months; // 输出: 24.03
|
||
```
|
||
|
||
## `weekSpan(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的周数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
beg_t := strToDateTime('2010-08-01 00:00:00');
|
||
end_t := strToDateTime ('2012-08-01 12:00:00');
|
||
weeks := weekSpan(beg_t, end_t);
|
||
return weeks; // 输出: 104.5
|
||
```
|
||
|
||
## `daySpan(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的天数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
beg_t := strToDateTime('2010-08-01 00:00:00');
|
||
end_t := strToDateTime('2012-08-01 12:00:00');
|
||
days := daySpan(beg_t, end_t);
|
||
return days; // 输出: 731.5
|
||
```
|
||
|
||
## `hourSpan(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的小时数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
hours := hourSpan(strToDateTime('2010-08-01 00:00:00'), strToDateTime('2012-08-01 12:00:00'));
|
||
return hours; // 输出: 17556
|
||
```
|
||
|
||
## `minuteSpan(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的分钟数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
beg_t := strToDateTime('2010-08-01 00:00:00');
|
||
end_t := strToDateTime('2012-08-01 12:00:00');
|
||
minutes := minuteSpan(beg_t, end_t);
|
||
return minutes; // 输出: 1053360
|
||
```
|
||
|
||
## `secondSpan(a_now, athen)`
|
||
|
||
得到参数ANow和参数AThen之间的相距的秒数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---------------------- |
|
||
| `a_now` | tdatetime | 日期时间类型,日期时间 |
|
||
| `athen` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
beg_t := strToDateTime('2010-08-01 00:00:00');
|
||
end_t := strToDateTime('2012-08-01 12:00:00');
|
||
seconds := secondSpan(beg_t, end_t);
|
||
return seconds; // 输出: 63201600
|
||
```
|
||
|
||
## `incYear(a_value, a_number_of_years)`
|
||
|
||
得到自参数AValue指定的时间向后推移AnumberOfYears年的时间,参数AnumberOfYears也可以为负值,表示向前推移。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
| `a_number_of_years` | integer | 整数,表示年数 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
incyears := incYear(strToDateTime('2010-08-01'), 10);
|
||
return dateToStr(incyears); // 输出: 2020-08-01
|
||
```
|
||
|
||
## `incMonth(date_time, number_of_months)`
|
||
|
||
返回参数指定的时间DateTime之后NumberOfMonths个月的时间。参数NumberOfMonths也可以为负值,表示向前推移
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------------ | --------- | ---------------------- |
|
||
| `date_time` | tdatetime | 日期时间类型,日期时间 |
|
||
| `number_of_months` | integer | 整数,月数 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
incmonths := incMonth(strToDateTime('2010-08-01'), 2);
|
||
return dateToStr(incmonths); // 输出: 2010-10-01
|
||
```
|
||
|
||
## `incWeek(a_value, a_number_of_weeks)`
|
||
|
||
得到自参数AValue指定的时间向后推移AnumberOfWeeks周的时间,参数AnumberOfWeeks也可以为负值,表示向前推移。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
| `a_number_of_weeks` | integer | 整数,表示周数 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
incweeks := incWeek(strToDateTime('2010-08-01'), 1);
|
||
return dateToStr(incweeks); // 输出: 2010-08-08
|
||
```
|
||
|
||
## `incDay(a_value, a_number_of_days)`
|
||
|
||
得到自参数AValue指定的时间向后推移AnumberOfDays天的时间(自然日),参数AnumberOfDays也可以为负值,表示向前推移。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------------ | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
| `a_number_of_days` | integer | 整数,表示天数 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
incdays := incDay(strToDateTime('2010-08-01'), 10);
|
||
return dateToStr(incdays); // 输出: 2010-08-11
|
||
```
|
||
|
||
## `incHour(a_value, a_number_of_hours)`
|
||
|
||
得到自参数AValue指定的时间向后推移AnumberOfHours小时的时间,参数也可以为负值,表示向前推移。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
| `a_number_of_hours` | integer | 整数,表示小时数 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
inchours := incHour(strToDateTime('2010-08-01 00:01:01'), 10);
|
||
return dateTimeToStr(inchours); // 输出: 2010-08-01 10:01:01
|
||
```
|
||
|
||
## `incMinute(a_value, a_number_of_minutes)`
|
||
|
||
得到自参数AValue指定的时间向后推移AnumberOfMinutes分钟的时间,参数ANumberOfMinutes也可以为负值,表示向前推移。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
| `a_number_of_minutes` | integer | 整数,表示分钟数 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
incminutes := incMinute(strToDateTime('2010-08-01 00:01:01'), 50);
|
||
return dateTimeToStr(incminutes); // 输出: 2010-08-01 00:51:01
|
||
```
|
||
|
||
## `incSecond(a_value, a_number_of_seconds)`
|
||
|
||
得到自参数AValue指定的时间向后推移AnumberOfSeconds秒的时间,参数AnumberOfSecond也可以为负值,表示向前推移。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
| `a_number_of_seconds` | integer | 整数,表示秒数 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
incseconds := incSecond(strToDateTime('2010-08-01 00:01:01'), 50);
|
||
return dateTimeToStr(incseconds); // 输出: 2010-08-01 00:01:51
|
||
```
|
||
|
||
## `incMilliSecond(a_value, a_number_of_milli_seconds)`
|
||
|
||
得到自参数AValue指定的时间向后推移AnumberOfMilliSeconds毫秒的时间,参数AnumberOfMilliSeconds也可以为负值,表示向前推移。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------------------- | --------- | ----------------------- |
|
||
| `a_value` | tdatetime | TDateTime类型,日期时间 |
|
||
| `a_number_of_milli_seconds` | integer | 整数,表示毫秒数 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
incmilliseconds := incMilliSecond(strToDateTime('2010-08-01 00:01:01.950'), 50);
|
||
return dateTimeToStr(incmilliseconds); // 输出: 2010-08-01 00:01:02
|
||
```
|
||
|
||
## `encodeDateTime(a_year, a_month, a_day, a_hour, aminute, asecond, amilli_second)`
|
||
|
||
根据给定的参数AYear, AMonth, ADay, AHour, AMinute, ASecond, AmilliSecond分别作为年、月、日、小时、分钟、秒、毫秒组成一个日期时间型数据返回
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ------- | ---------------------------------------------------------------------- |
|
||
| `a_year` | integer | 整数,年,年,定义域[1,9999] |
|
||
| `a_month` | integer | 整数,月,月,定义域[1,12] |
|
||
| `a_day` | integer | 整数,日,日期,定义域[1,31] |
|
||
| `a_hour` | integer | 整数,小时,小时,定义域[0,24],如果是24,则要求分钟、秒、毫秒全部为0 |
|
||
| `aminute` | integer | 整数,分钟,定义域[0,59] |
|
||
| `asecond` | integer | 整数,秒,定义域[0,59] |
|
||
| `amilli_second` | integer | 整数,毫秒,定义域[0,999] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
timeset := encodeDateTime(2011, 08, 08, 09, 32, 45, 990);
|
||
return dateTimeToStr(timeset); // 输出: 2011-08-08 09:32:45
|
||
```
|
||
|
||
## `decodeDateTime(a_value, a_year, a_month, a_day, a_hour, aminute, asecond, amilli_second)`
|
||
|
||
过程,将给定TDateTime类型的参数AValue分解为年、月、日、小时、分钟、秒、毫秒分别存到参数AYear, AMonth, ADay, AHour, AMinute, ASecond, AmilliSecond中。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | --------- | ---------------------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
| `a_year` | integer | 整数,年,定义域[1,9999],返回值 |
|
||
| `a_month` | integer | 整数,月,定义域[1,12],返回值 |
|
||
| `a_day` | integer | 整数,日,定义域[1,31],返回值 |
|
||
| `a_hour` | integer | 整数,小时,定义域[0,24],返回值 |
|
||
| `aminute` | integer | 整数,分钟,定义域[0,59],返回值 |
|
||
| `asecond` | integer | 整数,秒,定义域[0,59],返回值 |
|
||
| `amilli_second` | integer | 整数,毫秒,定义域[0,999],返回值 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := strToDateTime('2011-08-08 12:09:10.990');
|
||
decodeDateTime(end_t, year, month, day, hour, minute, second, millisecond);
|
||
return array(year, month, day, hour, minute, second, millisecond);
|
||
// 输出:array(2011,8,8,12,9,10,990)
|
||
```
|
||
|
||
## `encodeDateWeek(a_year, aweek_of_year, aday_of_week)`
|
||
|
||
根据给定的参数AValue年份,以及给定在此年份的第AWeekOfYear周,以及给定的此周的第ADayOfWeek天来确定的,时间部分置0。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ------- | ------------------------------------------------ |
|
||
| `a_year` | integer | 整数,年,定义域[1,9999] |
|
||
| `aweek_of_year` | integer | 整数,周,定义域[1,53] |
|
||
| `aday_of_week` | integer | 整数,定义域[1,7],并小于当周属于当年的最大天数 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
// 一个自然周至少要有4天属于该年的日期,这一周才属于这年。
|
||
// 1月1日和1月2日所属周只有2天处于2011年,所以,这周属于2010年,2011年的第一周从2011年1月3日算起
|
||
week := encodeDateWeek(2011, 1, 1);
|
||
return dateToStr(week);
|
||
// 输出: 2011-01-03
|
||
```
|
||
|
||
## `decodeDateWeek(a_value, a_year, aweek_of_year, aday_of_week)`
|
||
|
||
过程,根据一个TDateTime类型的时间,分别分解为年份,周数(属于当年第几周),天数(当周的第几天),并分别存在参数AYear, AWeekOfYear, AdayOfWeek中。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | --------- | ------------------------------ |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
| `a_year` | integer | 整数,年,返回值 |
|
||
| `aweek_of_year` | integer | 整数,月,返回值 |
|
||
| `aday_of_week` | integer | 整数,表示当周的第几天,返回值 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
decodeDateWeek(strToDateTime('2011-08-08'), year, weekofyear, dayofweek);
|
||
return array( year, weekofyear, dayofweek);
|
||
// 输出: array(2011, 32,1)
|
||
```
|
||
|
||
## `decodeDateDay(a_value, a_year, a_day_of_year)`
|
||
|
||
过程,根据参数AValue的时间确定所属的年份以及在当年第多少天,并把分别存到参数AYear, AdayOfYear中
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | --------- | ------------------ |
|
||
| `a_value` | tdatetime | 日期时间类型 |
|
||
| `a_year` | integer | 整数,年份,返回值 |
|
||
| `a_day_of_year` | integer | 整数,天数,返回值 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
decodeDateDay(strToDateTime('2011-08-08'), year, dayofyear);
|
||
return array(year, dayofyear);
|
||
// 输出: array(2011,220)
|
||
```
|
||
|
||
## `encodeDateMonthWeek(a_year, a_month, aweek_of_month, aday_of_week)`
|
||
|
||
根据给定参数AYear, AMonth分别作为年、月,AWeekOfMonth作为当月的第几周,AdayOfWeek作为当周的第几天组成一个日期类型值返回,时间部分置0,组成日期返回。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------------- | ------- | ------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域[1,9999] |
|
||
| `a_month` | integer | 整数,月,定义域[1,12] |
|
||
| `aweek_of_month` | integer | 整数,当月的第几周 |
|
||
| `aday_of_week` | integer | 整数,当周的第几天 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
monthweek := encodeDateMonthWeek(2011, 8, 2, 1);
|
||
return dateTimeToStr(monthweek); // 输出: 2011-08-08
|
||
```
|
||
|
||
## `decodeDateMonthWeek(a_value, a_year, a_month, aweek_of_month, aday_of_week)`
|
||
|
||
根据给定的参数根据参数AValue的时间确定所属的年份、月份以及当月第多少周,当周第多少天,并把分别存到参数Ayear、Amonth、AweekOfMonth、ADayOfWeek中。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------------- | --------- | --------------------------------- |
|
||
| `a_value` | tdatetime | 日期类型,分解的日期 |
|
||
| `a_year` | integer | 整数,年,定义域[1,9999],返回值 |
|
||
| `a_month` | integer | 整数,月,定义域[1,12],返回值 |
|
||
| `aweek_of_month` | integer | 整数,当月的第几周,返回值 |
|
||
| `aday_of_week` | integer | 整数,当周的第几天,返回值 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
decodeDateMonthWeek(strToDateTime("2011-08-10"), year, month, weekof_month, day_of_week1);
|
||
return array(year, month, weekof_month, day_of_week1); // 输出: array(2011,8,2,3)
|
||
```
|
||
|
||
## `tryEncodeDateTime(a_year, a_month, a_day, a_hour, aminute, asecond, amilli_second, a_value)`
|
||
|
||
根据给定的参数AYear, AMonth, ADay, AHour, AMinute, ASecond, AmilliSecond分别作为年、月、日、小时、分钟、秒、毫秒组成一个日期时间型变量存到参数AValue中,并返回一个布尔型真假值,表示是否是个有效的日期
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | --------- | ---------------------------------------------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域[1,9999] |
|
||
| `a_month` | integer | 整数,月,定义域[1,12] |
|
||
| `a_day` | integer | 整数,日,定义域[1,31] |
|
||
| `a_hour` | integer | 整数,小时,定义域[0,24],如果是24,则要求分钟、秒、毫秒全部为0 |
|
||
| `aminute` | integer | 整数,分钟,定义域[0,59] |
|
||
| `asecond` | integer | 整数,秒,定义域[0,59] |
|
||
| `amilli_second` | integer | 整数,毫秒,定义域[0,999] |
|
||
| `a_value` | tdatetime | 日期时间类型,组成的日期,返回值 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
flag := tryEncodeDateTime(2011, 8, 10, 10, 01, 01, 999, atime);
|
||
return array(flag, dateTimeToStr(atime)); // 输出: array(1,'2011-08-10 10:01:01')
|
||
```
|
||
|
||
## `tryEncodeDateWeek(a_year, a_week_of_year, a_value, aday_of_week)`
|
||
|
||
根据给定的参数AYear年份、此年份的第AWeekOfYear周,以及给定的此周的第ADayOfWeek天来确定的一个日期类型的值存到参数AValue中,时间部分置0。返回布尔值,表示是否是个有效的日期
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------------- | --------- | ------------------------------------------------ |
|
||
| `a_year` | integer | 整数,年,定义域[1,9999] |
|
||
| `a_week_of_year` | integer | 整数,周数,定义域[1,53] |
|
||
| `a_value` | tdatetime | 日期类型,返回值 |
|
||
| `aday_of_week` | integer | 整数,定义域[1,7],并小于当周属于当年的最大天数 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
flag := tryEncodeDateWeek(2011, 1, atime, 1);
|
||
return array(flag, dateTimeToStr(atime)); // 输出: array(1,'2011-01-03')
|
||
```
|
||
|
||
## `tryEncodeDateDay(a_year, a_day_of_year, a_value)`
|
||
|
||
过程,根据给定的参数AYear年份、以及指定在给定年份的第ADayofYear天来生成一个日期并存到参数AValue中,时间部分置0。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | --------- | ------------------ |
|
||
| `a_year` | integer | 整数,年份, |
|
||
| `a_day_of_year` | integer | 整数,当年的第几天 |
|
||
| `a_value` | tdatetime | 日期类型,返回值 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
flag := tryEncodeDateDay(2011, 1, atime);
|
||
returnarray(flag, dateTimeToStr(atime)); // 输出: array(1,'2011-01-01')
|
||
```
|
||
|
||
## `tryEncodeDateMonthWeek(a_year, a_month, aweek_of_month, aday_of_week, a_value)`
|
||
|
||
根据参数指定的年份AYear、月份Amonth、以及当月的第几周数AweekOfMonth和当周的第几天ADayOfWeek确定出一个日期型值存到参数AValue中。函数返回一个布尔型真假值,以表明日期是否有效转化
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------------- | --------- | ------------------------- |
|
||
| `a_year` | integer | 整数,年,定义域[1,9999] |
|
||
| `a_month` | integer | 整数,月,定义域[1,12] |
|
||
| `aweek_of_month` | integer | 整数,当月的第几周 |
|
||
| `aday_of_week` | integer | 整数,当周的第几天 |
|
||
| `a_value` | tdatetime | 日期类型,组成的日期 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
flag := tryEncodeDateMonthWeek(2011, 1, 1, 1, atime);
|
||
returnarray(flag, dateTimeToStr(atime)); // 输出: array(1,'2011-01-03')
|
||
```
|
||
|
||
## `recodeYear(a_value, a_year)`
|
||
|
||
将参数Ayear指定的年份替换掉参数 AValue中的相应的年份信息,得到的日期类型返回
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------- |
|
||
| `a_value` | tdatetime | 日期类型,日期 |
|
||
| `a_year` | integer | 整数,年份 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
new_time := recodeYear(strToDateTime("2010-08-01"), 2009);
|
||
return dateTimeToStr(new_time); // 输出: 2009-08-01
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
// 用try...except...end语句进行异常处理,如果无法替换成有效的日期,则把NewTime设置为0.
|
||
try
|
||
new_time := recodeYear(strToDateTime("2012-02-29"), 2013);
|
||
except
|
||
new_time := 0;
|
||
end;
|
||
return new_time; // 输出: 0
|
||
```
|
||
|
||
## `recodeMonth(a_value, a_month)`
|
||
|
||
将参数AMonth指定的月份替换掉参数 AValue中的相应的月份信息,得到的TDateTime类型返回。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------- |
|
||
| `a_value` | tdatetime | 日期类型,日期 |
|
||
| `a_month` | integer | 整数,月份 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
try
|
||
new_time := recodeMonth(strToDateTime("2011-08-10"), 10);
|
||
new_time := dateTimeToStr(new_time);
|
||
except
|
||
new_time := 0;
|
||
end;
|
||
return new_time; // 输出: 2011-10-10
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
try
|
||
new_time := recodeMonth(strToDateTime("2013-3-31"), 4);
|
||
new_time := dateTimeToStr(new_time);
|
||
except
|
||
new_time := 0;
|
||
end;
|
||
return new_time; // 输出: 0
|
||
```
|
||
|
||
## `recodeDay(a_value, a_day)`
|
||
|
||
将参数ADay指定的日期(1至31)替换掉参数AValue中的相应的日期信息,得到的日期类型返回。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------------------- |
|
||
| `a_value` | tdatetime | 日期类型,日期 |
|
||
| `a_day` | integer | 整数,日期,定义域[1,31] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
范例一:
|
||
|
||
```tsl
|
||
try
|
||
new_time := recodeDay(strToDateTime("2011-08-10"), 1);
|
||
new_time := dateToStr(new_time);
|
||
except
|
||
new_time := 0;
|
||
end;
|
||
returnnewTime; // 输出: 2011-08-01
|
||
```
|
||
|
||
范例二:
|
||
|
||
```tsl
|
||
try
|
||
new_time := recodeDay(strToDateTime("2011-02-28"), 31);
|
||
new_time := dateToStr(new_time);
|
||
except
|
||
new_time := 0;
|
||
end;
|
||
returnnewTime; // 输出: 0
|
||
```
|
||
|
||
## `recodeHour(a_value, a_hour)`
|
||
|
||
将参数AHour指定的小时(0至24)替换掉参数AValue中的相应的日期信息,得到的日期时间返回。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
| `a_hour` | integer | 整数,小时,定义域[0,24] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
new_time := recodeHour(strToDateTime("2011-08-10 12:12:12"), 1);
|
||
return dateTimeToStr(new_time); // 输出: 2011-08-10 01:12:12
|
||
```
|
||
|
||
## `recodeMinute(a_value, a_minute)`
|
||
|
||
将参数AMinute指定的分钟(0至59)替换掉参数AValue中的相应的分钟信息,得到的日期时间类型返回
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------- | --------- | ------------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型 |
|
||
| `a_minute` | integer | 整数,分钟,定义域[0,59] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
new_time := recodeMinute (strToDateTime("2011-08-10 12:12:12"), 9);
|
||
return dateTimeToStr(new_time); // 输出: 2011-08-10 12:09:12
|
||
```
|
||
|
||
## `recodeMilliSecond(a_value, a_milli_second)`
|
||
|
||
将参数ASecond指定的毫秒数(0至999)替换掉参数AValue中的相应的毫秒数信息,得到的日期时间类型返回
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------------- | --------- | ---------------------------- |
|
||
| `a_value` | tdatetime | :日期时间类型 |
|
||
| `a_milli_second` | integer | 整数,毫秒数,定义域[0,999] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
new_time := recodeMilliSecond(strToDateTime("2011-08-10 12:12:12.999"), 100);
|
||
return milliSecondOf (new_time); // 输出: 100
|
||
```
|
||
|
||
## `recodeDate(a_value, a_year, a_month, a_day)`
|
||
|
||
将参数Ayear、Amonth、Aday分别指定年份、月份、日期替换掉参数AValue中的相应的年份、月份、日期信息,保留时间信息,得到的日期时间类型返回
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------------------------------------------------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
| `a_year` | integer | 整数,年份,定义域[0,9999] |
|
||
| `a_month` | integer | 整数,月份,定义域[0,12] |
|
||
| `a_day` | integer | 整数,日期,定义域[0,31],并且要使Ayear、Amonth、Aday组成的时间有效 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
new_time := recodeDate(strToDateTime("2011-08-10 12:12:12"), 2010, 8, 9);
|
||
return dateTimeToStr(new_time); // 输出: 2010-08-09 12:12:12
|
||
```
|
||
|
||
## `recodeTime(a_value, a_hour, a_minute, a_second, amilli_second)`
|
||
|
||
将参数Ayear、Amonth、Aday、AHour、AMinute、Asecond、AMilliSecond分别指定小时、分钟、秒钟、毫秒替换掉参数AValue中的相应的小时、分钟、秒钟、毫秒信息,保留日期信息,得到的日期时间类型返回
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | --------- | -------------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
| `a_hour` | integer | 整数,小时,定义域[0,24] |
|
||
| `a_minute` | integer | 整数,分钟,定义域[0,59] |
|
||
| `a_second` | integer | 整数,秒钟,定义域[0,59] |
|
||
| `amilli_second` | integer | 整数,毫秒,定义域[0,999] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
new_time := recodeTime(strToDateTime("2011-08-10 12:12:12.999"), 10, 8, 9, 100);
|
||
return dateTimeToStr(new_time); // 输出: 2011-08-10 10:08:09
|
||
```
|
||
|
||
## `recodeDateTime(a_value, a_year, a_month, a_day, a_hour, a_minute, a_second, amilli_second)`
|
||
|
||
将参数Ayear、Amonth、Aday、AHour、AMinute、Asecond、AMilliSecond分别指定年份、月份、日期、小时、分钟、秒钟、毫秒替换掉参数AValue中的相应的年份、月份、日期、小时、分钟、秒钟、毫秒信息。对于不改变的变量,可以设置为65535(最大的WORD类型值),来告诉函数此参数对应的响应时间部分不需替换。函数得到的TDateTime类型返回
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | --------- | -------------------------------------------------------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,被替换的日期时间 |
|
||
| `a_year` | integer | 整数,年份,定义域[0,9999] |
|
||
| `a_month` | integer | 整数,月份,定义域[0,12] |
|
||
| `a_day` | integer | 整数,日期,定义域[0,12],并且要使Ayear、Amonth、Aday组成的时间有效 |
|
||
| `a_hour` | integer | 整数,小时,定义域[0,24] |
|
||
| `a_minute` | integer | 整数,分钟,定义域[0,59] |
|
||
| `a_second` | integer | 整数,秒钟,定义域[0,59] |
|
||
| `amilli_second` | integer | 整数,毫秒,定义域[0,999] |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
new_time := recodeDateTime(strToDateTime("2011-08-10 12:12:12.999"), 2010, 8, 10, 10, 8, 9, 100);
|
||
return dateTimeToStr(new_time); // 输出: 2010-08-10 10:08:09
|
||
```
|
||
|
||
## `tryRecodeDateTime(a_value, a_year, a_month, a_day, a_hour, a_minute, a_second, amilli_second, aresult)`
|
||
|
||
本函数同RecodeDateTime函数非常类似。将参数Ayear、Amonth、Aday、 AHour、AMinute、Asecond、AMilliSecond分别指定年份、月份、日期、小时、分钟、秒钟、毫秒替换掉参数AValue中的相应的年份、月份、日期、小时、分钟、秒钟、毫秒信息,并将新的TDateTime类型时间存到参数Aresult中。对于不需改变的变量,可以设置为65535(最大的WORD类型值),来告诉函数此参数对应的响应时间部分不需替换
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | --------- | -------------------------------------------------------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,被替换的日期时间 |
|
||
| `a_year` | integer | 整数,年份,定义域[0,9999] |
|
||
| `a_month` | integer | 整数,月份,定义域[0,12] |
|
||
| `a_day` | integer | 整数,日期,定义域[0,12],并且要使Ayear、Amonth、Aday组成的时间有效 |
|
||
| `a_hour` | integer | 整数,小时,定义域[0,24] |
|
||
| `a_minute` | integer | 整数,分钟,定义域[0,59] |
|
||
| `a_second` | integer | 整数,秒钟,定义域[0,59] |
|
||
| `amilli_second` | integer | 整数,毫秒,定义域[0,999] |
|
||
| `aresult` | tdatetime | 日期时间类型,替换后的日期时间 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
tryRecodeDateTime(strToDateTime("2011-08-10 12:12:12.999"), 2010, 8, 10, 10, 8, 9, 100, aresult);
|
||
return dateTimeToStr(aresult); // 输出: 2010-08-10 10:08:09
|
||
```
|
||
|
||
## `compareDateTime(a, b)`
|
||
|
||
比较时间A和时间B的大小,返回它们的关系
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | --------- | ---------------------- |
|
||
| `a` | tdatetime | 日期时间类型,日期时间 |
|
||
| `b` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
result := compareDateTime(strToDateTime("2011-08-10"), strToDateTime("2011-08-11"));
|
||
return result; // 输出: -1
|
||
```
|
||
|
||
## `sameDateTime(a, b)`
|
||
|
||
判断时间A和时间B是否相等。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | --------- | ---------------------- |
|
||
| `a` | tdatetime | 日期时间类型,日期时间 |
|
||
| `b` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
flag := sameDateTime(strToDateTime("2011-08-10"), strToDateTime("2011-08-11"));
|
||
return flag; // 输出: 0
|
||
```
|
||
|
||
## `compareDate(a, b)`
|
||
|
||
比较时间A所属的日期和时间B所属的日期的大小,返回它们的关系
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | --------- | ---------------------- |
|
||
| `a` | tdatetime | 日期时间类型,日期时间 |
|
||
| `b` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
result := compareDate(strToDateTime("2011-08-10"), strToDateTime("2011-08-11"));
|
||
return result; // 输出: -1
|
||
```
|
||
|
||
## `sameDate(a, b)`
|
||
|
||
返回布尔型真假值,判断时间A所属的日期和时间B所属的日期是否是同一天,如果是同一天,返回真,否则返回假。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | --------- | ---------------------- |
|
||
| `a` | tdatetime | 日期时间类型,日期时间 |
|
||
| `b` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
flag := sameDate(strToDateTime("2011-08-1001:00:00"), strToDateTime("2011-08-1002:00:00"));
|
||
return flag; // 输出: 1
|
||
```
|
||
|
||
## `compareTime(a, b)`
|
||
|
||
比较A和B的时间部分(不考虑日期部分),返回它们的关系
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | --------- | ---------------------- |
|
||
| `a` | tdatetime | 日期时间类型,日期时间 |
|
||
| `b` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
result := compareTime(strToDateTime("2011-08-10 01:00:00"), strToDateTime("2011-08-11 01:00:00"));
|
||
return result; // 输出: 0
|
||
```
|
||
|
||
## `sameTime(a, b)`
|
||
|
||
判断A和B的时间部分是否相等(不考虑日期部分),如果相等,返回真,否则返回假。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | --------- | ---------------------- |
|
||
| `a` | tdatetime | 日期时间类型,日期时间 |
|
||
| `b` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
result := sameTime(strToDateTime("2011-08-10 01:00:00"), strToDateTime("2011-08-11 01:00:00"));
|
||
return result; // 输出: 1
|
||
```
|
||
|
||
## `nthDayOfWeek(a_value)`
|
||
|
||
返回参数AValue指定的日期在当月是第几周,注意,这里的周是代表7天,就是第几个7天。因此,每月的1至7日返回1,8至14日返回2,15至21日返回3,以此类推。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ---------------------- |
|
||
| `a_value` | tdatetime | 日期时间类型,日期时间 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := strToDateTime("2014-01-06");
|
||
week_num := nthDayOfWeek(end_t);
|
||
wofm := weekOfTheMonth(end_t);
|
||
return array(week_num, wofm); // 输出: array(1,2)
|
||
```
|
||
|
||
## `decodeDayOfWeekInMonth(a_value, a_year, a_month, anth_day_of_week, aday_of_week)`
|
||
|
||
过程,根据参数AValue指定的日期得到年份Ayear、月份AMonth、周数AnthDayOfWeek、当周天数AdayOfWeek
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------------ | --------- | ---------------- |
|
||
| `a_value` | tdatetime | 日期时间类型 |
|
||
| `a_year` | integer | 整数,年,年份 |
|
||
| `a_month` | integer | 整数,月,月份 |
|
||
| `anth_day_of_week` | integer | 整数,周数 |
|
||
| `aday_of_week` | integer | 整数,当周第几天 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := strToDateTime("2011-08-10 12:10:09");
|
||
decodeDayOfWeekInMonth(endt, ayear, amonth, a_nth_day_of_week, a_day_of_week);
|
||
return array(ayear, amonth, a_nth_day_of_week, a_day_of_week );
|
||
// 输出: array(2011,8,2,3)
|
||
```
|
||
|
||
## `encodeDayOfWeekInMonth(a_year, a_month, anth_day_of_week, aday_of_week)`
|
||
|
||
根据参数指定的年份Ayear、月份AMonth、周数AnthDayOfWeek、当周天数AdayOfWeek得到一个TDateTime类型值,时间部分置0
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------------ | ------- | --------------------------- |
|
||
| `a_year` | integer | 整数,年份,定义域[0,9999] |
|
||
| `a_month` | integer | 整数,月份,定义域[0,12] |
|
||
| `anth_day_of_week` | integer | 整数,周数 |
|
||
| `aday_of_week` | integer | 整数,当周第几天 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
// 2013年10月1日是周二,1日至6日不属于这个月的周,从7日(周一)所属周开始算起
|
||
return encodeDayOfWeekInMonth(2013, 10, 2, 1); // 输出41561('2013-10-14')
|
||
```
|
||
|
||
## `tryEncodeDayOfWeekInMonth(a_year, a_month, anth_day_of_week, aday_of_week, a_value)`
|
||
|
||
跟EncodeDayOfWeekInMonth函数非常类似。根据参数指定的年份Ayear、月份AMonth、周数AnthDayOfWeek、当周天数AdayOfWeek得到一个TDateTime类型值,存到参数AValue中,时间部分置0。函数返回一个真假值,如果给定的参数能够得到合法的日期就返回真,否则返回假
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------------ | --------- | ---------------------------- |
|
||
| `a_year` | integer | 整数,年份,定义域[0,9999] |
|
||
| `a_month` | integer | 整数,月份,定义域[0,12] |
|
||
| `anth_day_of_week` | integer | 整数,周数 |
|
||
| `aday_of_week` | integer | 整数,当周第几天 |
|
||
| `a_value` | tdatetime | 日期类型,组成的日期,返回值 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
tryEncodeDayOfWeekInMonth(2013, 10, 2, 1, newtime);
|
||
return dateTimeToStr(newtime);
|
||
// 输出: 2013-10-14
|
||
```
|
||
|
||
## `dateTimeToJulianDate(a_value)`
|
||
|
||
将TDateTime类型的参数转换成儒略日类型。儒略日类型类型是自从格林威治公元前4713年1月一日中午到计时点的天数,包括小数。这种时间用在天文学,地球物理学等需要精确时间的地方
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------- |
|
||
| `a_value` | tdatetime | TDateTime类型 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return dateTimeToJulianDate(strToDateTime('2014-01-01 10:00:00'));
|
||
// 输出2456658.91667
|
||
```
|
||
|
||
## `julianDateToDateTime(a_value)`
|
||
|
||
将儒略日类型的时间转换成TDateTime类型的时间。儒略日类型类型是自从格林威治公元前4713年1月一日中午到计时点的天数,包括小数。这种时间用在天文学,地球物理学等需要精确时间的地方
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ---- | -------------------------- |
|
||
| `a_value` | real | 实数,代表儒略日类型的时间 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
a := julianDateToDateTime(2456658.91667);
|
||
return dateTimeToStr(a); // 输出2014-01-01 10:00:00
|
||
```
|
||
|
||
## `tryJulianDateToDateTime(a_value, a_date_time)`
|
||
|
||
将儒略日类型的时间转换成TDateTime类型的时间并存到参数AdateTime中。函数返回布尔型真假值,表示是否可以转换成功
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------- | --------- | ---------------------------------------- |
|
||
| `a_value` | real | 实数,代表儒略日类型的时间 |
|
||
| `a_date_time` | tdatetime | 日期时间类型,转化成功的日期时间,返回值 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
flag := tryJulianDateToDateTime(2456658.91667, t);
|
||
if flag then
|
||
return dateTimeToStr(t);
|
||
else return 0;
|
||
// 输出2014-01-01 10:00:00
|
||
```
|
||
|
||
## `dateTimeToModifiedJulianDate(a_value)`
|
||
|
||
将TDateTime类型的参数转换成新儒略日类型。新儒略日类型类型是在儒略日类型上改进的,计时发法是自从格林威治1958年11月17日午夜到计时点的天数,包括小数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------ |
|
||
| `a_value` | tdatetime | 日期时间类型 |
|
||
|
||
返回:real
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
a := dateTimeToModifiedJulianDate(strToDateTime('2014-01-01 10:00:00'));
|
||
return a; // 输出56658.41667
|
||
```
|
||
|
||
## `modifiedJulianDateToDateTime(a_value)`
|
||
|
||
将新儒略日类型的参数AValue转换成TDateTime类型的。新儒略日类型类型是在儒略日类型上改进的,计时发法是自从格林威治1958年11月17日午夜到计时点的天数,包括小数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ---- | ---------------------------- |
|
||
| `a_value` | real | 实数,表示新儒略日类型的时间 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
t := modifiedJulianDateToDateTime(56658.41667);
|
||
return dateTimeToStr(t); // 输出2014-01-01 10:00:00
|
||
```
|
||
|
||
## `tryModifiedJulianDateToDateTime(a_value, a_date_time)`
|
||
|
||
与ModifiedJulianDateToDateTime函数非常类似,将新儒略日类型的参数AValue转换成TDateTime类型的值存到参数AdateTime中。函数返回布尔型真假值,表示是否转换成功
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------- | --------- | ------------------------------ |
|
||
| `a_value` | real | 实数,表示新儒略日类型的时间 |
|
||
| `a_date_time` | tdatetime | 日期时间类型,日期时间,返回值 |
|
||
|
||
返回:bool
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
flag := tryModifiedJulianDateToDateTime(56658.41667, t);
|
||
if flag then
|
||
return dateTimeToStr(t);
|
||
else return 0;
|
||
// 输出2014-01-01 10:00:00
|
||
```
|
||
|
||
## `dateTimeToUnix(a_value)`
|
||
|
||
将TDateTime类型的参数转换成UNIX操作系统的相应时间类型。UNIX操作系统的表示时间的格式是以自1970年1月1日午夜0:00到计时点的秒数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | ------------ |
|
||
| `a_value` | tdatetime | 日期时间类型 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return dateTimeToUnix(strToDateTime('2014-01-01 10:00:00'));
|
||
// 输出1388570400
|
||
```
|
||
|
||
## `unixToDateTime(a_value)`
|
||
|
||
将以UNIX操作系统的相应时间类型的参数AValue转换成TDateTime类型数。UNIX操作系统的表示时间的格式是以自1970年1月1日午夜0:00到计时点的秒数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ------- | -------------------------------- |
|
||
| `a_value` | integer | 整数,UNIX操作系统的相应时间类型 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
t := unixToDateTime(1388570400);
|
||
return dateTimeToStr(t);
|
||
// 输出2014-01-01 10:00:00
|
||
```
|
||
|
||
## `fileDateToDateTime(file_date)`
|
||
|
||
文件时间对标准的时间格式的转换。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ------- | ---------------- |
|
||
| `file_date` | integer | 整数,文件时间。 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := fileDateToDateTime(1143033856);
|
||
return dateTimeToStr(end_t);
|
||
// 输出:2014-01-01 10:00:00
|
||
// 差异说明
|
||
// 依赖运行时操作系统相关API,与DateTimeToFileDate相对。
|
||
// 具体差异表现可参考:FAQ:DateTimeToFileDate
|
||
```
|
||
|
||
## `dateTimeToFileDate(date_time)`
|
||
|
||
标准时间格式转换成文件的时间格式。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | ------------ |
|
||
| `date_time` | tdatetime | 日期时间类型 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := strToDateTime('2014-01-01 10:00:00');
|
||
file_end_t := dateTimeToFileDate(end_t);
|
||
return array(end_t, file_end_t);
|
||
// 比较两种日期输出
|
||
// 输出:array(41640.41667,1143033856)
|
||
// 差异说明
|
||
// 转化的结果依赖运行时操作系统相关API,转换结果会存在差异,但是同一系统中,转换与转回是自恰的。
|
||
// 即,通过DateTimeToFileDate转换后的结果,再通过FileDateToDateTime转回,可以得到最初未转换之前的值。
|
||
// 如:
|
||
fdate := dateTimeToFileDate(20240525.1430T);
|
||
echo fdate; // windows下返回:1488548800 Linux中返回:1716618600
|
||
t := fileDateToDateTime(fdate);
|
||
return t; // 都返回20240525.1430T
|
||
```
|
||
|
||
## `dateTimeGmtToCookieStrw(date)`
|
||
|
||
将日期时间(GMT时间)转为Cookie格式宽字节字符串Fri, 13-Jun-2008 23:01:56 GMT。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | --------- | ---------------------------- |
|
||
| `date` | tdatetime | 日期时间类型,用于转换的时间 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return dateTimeGmtToCookieStrw(20200723.110633T);
|
||
// 输出Thu, 23-Jul-2020 11:06:33 GMT
|
||
```
|
||
|
||
## `dateTimeGmtToHttpStrw(date)`
|
||
|
||
将日期时间(GMT时间)转为HTTP格式宽字节字符串Fri, 13 Jun 2008 23:01:56 GMT。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------ | --------- | ---------------------------- |
|
||
| `date` | tdatetime | 日期时间类型,用于转换的时间 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return dateTimeGmtToHttpStrw(20200723.110633T);
|
||
// 输出Thu, 23 Jul 2020 11:06:33 GMT
|
||
```
|
||
|
||
## `dateTimeToInternetStrw(date, to_gmt)`
|
||
|
||
将日期转为Internet格式宽字节字符串Friday, 13Jun2008 22:27:04 +0800,当ToGMT为真时,采用GMT时间格式。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | --------- | ---------------------------- |
|
||
| `date` | tdatetime | 日期时间类型,用于转换的时间 |
|
||
| `to_gmt` | bool | 布尔,是否采用GMT时间格式 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return dateTimeToInternetStrw(20200723.110633T, 0);
|
||
// 输出Thu, 23 Jul 2020 11:06:33 +0800
|
||
```
|
||
|
||
## `dateTimeToStrw(date_time)`
|
||
|
||
将TDateTime类型的参数DateTime的日期和时间转换成宽字节字符串,格式是短日期加长时间格式
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | ----------------------- |
|
||
| `date_time` | tdatetime | TDateTime类型,日期时间 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return dateTimeToStrw(20200720.0930T);
|
||
// 输出宽字节字符串:2020-07-20 09:30:00
|
||
```
|
||
|
||
## `timeToStrw(date_time)`
|
||
|
||
将TDateTime类型的参数DateTime的时间部分转换成宽字节字符串,格式是长时间格式
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | ----------------------- |
|
||
| `date_time` | tdatetime | TDateTime类型,日期时间 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return timeToStrw(9.5/24); // 输出宽字节字符串:09:30:00
|
||
return timeToStrw(20200720.0930T); // 输出宽字节字符串:09:30:00
|
||
```
|
||
|
||
## `dateToStrw(date_time)`
|
||
|
||
将TDateTime类型的参数DateTime的日期部分转换成宽字节字符串,格式是短日期格式
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | --------- | ----------------------- |
|
||
| `date_time` | tdatetime | TDateTime类型,日期时间 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return dateToStrw(20200720T); // 输出宽字节字符串 2020-07-20
|
||
```
|
||
|
||
## `time()`
|
||
|
||
返回TDateTime类型的当前时间,日期部分为0,与系统参数无关。
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return time(); // 输出0.59
|
||
```
|
||
|
||
## `IncomeTax_12(r_date)`
|
||
|
||
最近12个月的所得税。 (1)所得税取自合并利润分配表; (2)根据最近12个月的算法得到最近12个月的所得税【注1】。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | -------- | -------------- |
|
||
| `r_date` | datetime | 整数,报告期。 |
|
||
|
||
返回:float
|
||
|
||
## `IncomeTax_Year(r_date, n)`
|
||
|
||
最近N年的所得税。 (1)取向后兼容的最新年报Q1,取N-1年前同期的年报Q2; (2)在合并利润分配表取Q2报告期的所得税。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | -------- | -------------- |
|
||
| `r_date` | datetime | 整数,报告期; |
|
||
| `n` | any | 整数,最近N年 |
|
||
|
||
返回:float
|
||
|
||
## `IncomeTax_Q(r_date)`
|
||
|
||
计算指定报告期最近1季度的所得税。 根据季度数据的算法【注3】,函数从合并现金流量表中取出多个报告期的筹资活动产生的现金流,计算最近1季度的所得税。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | -------- | -------------- |
|
||
| `r_date` | datetime | 整数,报告期; |
|
||
|
||
返回:float
|
||
|
||
## `Time_Diff(values, order)`
|
||
|
||
计算序列、数组或矩阵的指定阶差分。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ----- | -------------- |
|
||
| `values` | array | 原始序列或矩阵 |
|
||
| `order` | any | 差分阶数 |
|
||
|
||
返回:array
|
||
|
||
## `Time_AutoCov(values, lag)`
|
||
|
||
计算时间序列在指定滞后阶数下的自协方差。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ----- | -------- |
|
||
| `values` | array | 时间序列 |
|
||
| `lag` | any | 滞后阶数 |
|
||
|
||
返回:float
|
||
|
||
## `Time_ACF(values)`
|
||
|
||
计算时间序列自相关系数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ----- | -------- |
|
||
| `values` | array | 时间序列 |
|
||
|
||
返回:array
|
||
|
||
## `Time_ARp(values, order, mode)`
|
||
|
||
估计 AR 模型参数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ----- | ------------ |
|
||
| `values` | array | 时间序列 |
|
||
| `order` | any | AR 阶数 |
|
||
| `mode` | any | 估计模式参数 |
|
||
|
||
返回:array
|
||
|
||
## `Time_MAq(values, order, mode)`
|
||
|
||
估计 MA 模型参数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ----- | ------------ |
|
||
| `values` | array | 时间序列 |
|
||
| `order` | any | MA 阶数 |
|
||
| `mode` | any | 估计模式参数 |
|
||
|
||
返回:array
|
||
|
||
## `Time_ARMA(values, ar_order, ma_order, mode)`
|
||
|
||
估计 ARMA 模型参数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------- | ----- | ------------ |
|
||
| `values` | array | 时间序列 |
|
||
| `ar_order` | any | AR 阶数 |
|
||
| `ma_order` | any | MA 阶数 |
|
||
| `mode` | any | 估计模式参数 |
|
||
|
||
返回:array
|
||
|
||
## `Time_InvFun(left_values, right_values)`
|
||
|
||
根据两个输入序列计算逆函数序列。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------------- | ----- | -------- |
|
||
| `left_values` | array | 左侧序列 |
|
||
| `right_values` | array | 右侧序列 |
|
||
|
||
返回:array
|
||
|
||
## `Time_ChoseP(values, model_name, criterion)`
|
||
|
||
按准则选择 AR、MA 或 ARMA 模型阶数。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------ | ------ | ------------------------------------- |
|
||
| `values` | array | 时间序列 |
|
||
| `model_name` | string | 模型名;可用 `"AR"`、`"MA"`、`"ARMA"` |
|
||
| `criterion` | string | 信息准则;常用 `"AIC"`、`"SBIC"` |
|
||
|
||
返回:any
|
||
|
||
## `Times_Granger(y_values, x_values, lag_order, alpha)`
|
||
|
||
检验 `x_values` 是否为 `y_values` 的 Granger 原因。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ----- | ------------ |
|
||
| `y_values` | array | 被解释序列 |
|
||
| `x_values` | array | 候选原因序列 |
|
||
| `lag_order` | any | 滞后阶数 |
|
||
| `alpha` | float | 显著性水平 |
|
||
|
||
返回:array
|
||
|
||
## `Time_DanielTest(values, alpha)`
|
||
|
||
执行 Daniel 平稳性检验。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ----- | ---------- |
|
||
| `values` | array | 时间序列 |
|
||
| `alpha` | float | 显著性水平 |
|
||
|
||
返回:array
|
||
|
||
## `Times_Cointergration_test(y_values, x_values, diff_order, alpha, lag_order, criterion)`
|
||
|
||
执行两个序列的协整检验。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------ | ------ | -------------------------------- |
|
||
| `y_values` | array | 第一条时间序列 |
|
||
| `x_values` | array | 第二条时间序列 |
|
||
| `diff_order` | any | 差分阶数 |
|
||
| `alpha` | float | 显著性水平 |
|
||
| `lag_order` | any | 滞后阶数 |
|
||
| `criterion` | string | 信息准则;常用 `"AIC"`、`"SBIC"` |
|
||
|
||
返回:array
|
||
|
||
## `Times_Cointergration(y_values, x_values, alpha)`
|
||
|
||
判断两个序列是否存在协整关系。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------- | ----- | -------------- |
|
||
| `y_values` | array | 第一条时间序列 |
|
||
| `x_values` | array | 第二条时间序列 |
|
||
| `alpha` | float | 显著性水平 |
|
||
|
||
返回:string
|
||
|
||
## `Times_ECM(y_values, x_values, residuals, alpha, p_order, q_order)`
|
||
|
||
建立误差修正模型。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ----- | ------------------- |
|
||
| `y_values` | array | 第一条时间序列 |
|
||
| `x_values` | array | 第二条时间序列 |
|
||
| `residuals` | array | 协整检验残差项 |
|
||
| `alpha` | float | 显著性水平 |
|
||
| `p_order` | any | `y_values` 滞后阶数 |
|
||
| `q_order` | any | `x_values` 滞后阶数 |
|
||
|
||
返回:array
|
||
|
||
## `Time_ARCHTest(values, lag_order, alpha)`
|
||
|
||
执行 ARCH 效应检验。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ----------- | ----- | ---------------- |
|
||
| `values` | array | 残差或收益率序列 |
|
||
| `lag_order` | any | 滞后阶数 |
|
||
| `alpha` | float | 显著性水平 |
|
||
|
||
返回:array
|
||
|
||
## `Time_ARCH(values, q_order, forecast_count)`
|
||
|
||
建立 ARCH 模型并输出均值、方差和预测结果。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------------- | ----- | ---------------- |
|
||
| `values` | array | 残差或收益率序列 |
|
||
| `q_order` | any | ARCH 阶数 |
|
||
| `forecast_count` | any | 预测步数 |
|
||
|
||
返回:array
|
||
|
||
## `Time_GARCH(values, model_name)`
|
||
|
||
建立 GARCH 类模型并输出均值、方差和预测结果。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------ | ------ | ---------------------- |
|
||
| `values` | array | 残差或收益率序列 |
|
||
| `model_name` | string | 模型名;常用 `"GARCH"` |
|
||
|
||
返回:array
|
||
|
||
## `Time_Analyse(values, model_name, ar_order, ma_order, forecast_count)`
|
||
|
||
按 AR、MA 或 ARMA 模型分析序列并输出预测结果。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---------------- | ------ | ------------------------------------- |
|
||
| `values` | array | 时间序列 |
|
||
| `model_name` | string | 模型名;可用 `"AR"`、`"MA"`、`"ARMA"` |
|
||
| `ar_order` | any | AR 阶数 |
|
||
| `ma_order` | any | MA 阶数 |
|
||
| `forecast_count` | any | 预测步数 |
|
||
|
||
返回:array
|
||
|
||
## `Times_GrangerCausality(series_matrix, lag_order)`
|
||
|
||
对矩阵中的多个序列执行两两 Granger 因果检验。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------------- | ----- | --------------------------------------------------- |
|
||
| `series_matrix` | array | 多个时间序列组成的矩阵;可由两条序列用 `left_series |
|
||
| `lag_order` | any | 滞后阶数 |
|
||
|
||
返回:array
|
||
|
||
## `strtodatetime2(s)`
|
||
|
||
字符串->日期时间(包含毫秒)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ------ | -------------------------------------------------------------------------------------------------------------- |
|
||
| `s` | string | S的格式必须为:yyyy-m-d h:m:s:z 其中日期和时间需要用空格隔开,时间分隔必须用: 如"2021-8-12 10:31:24:199" |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
// 字符串2021-8-12 10:31:24:199 转换为日期时间格式(包含毫秒)
|
||
s := "2021-8-12 10:31:24:199"
|
||
return strtodatetime2(s); // 结果:44420.4384745255
|
||
```
|
||
|
||
## `strToDateExt(s, str_format)`
|
||
|
||
将字符串类型的日期按照不同的格式转换成实数型的日期。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------ | ------- | ------------------------------------------ |
|
||
| `s` | string | 字符串类型的日期,包含3中形式,见下表。 |
|
||
| `str_format` | integer | 标准化的日期格式,对应的S分别用0、1、2表示 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
s := '16/1/2011';
|
||
str_format := 0;
|
||
return strToDateExt(s, str_format);
|
||
// 结果:40559
|
||
```
|
||
|
||
## `excelIntToDate(r_date)`
|
||
|
||
将报告期类型日期转化成实数型
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ------- | ------------------ |
|
||
| `r_date` | integer | 整型类的报告期日期 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
// 报告期为2010年年报
|
||
r_date := 20101231;
|
||
return excelIntToDate(r_date);
|
||
// 结果:40543
|
||
```
|
||
|
||
## `excelDateToInt(r_date)`
|
||
|
||
将日期型报告期转化成整数型报告期
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | --------- | ------------ |
|
||
| `r_date` | tdatetime | 日期型报告期 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
r_date := 20101231;
|
||
return excelDateToInt(r_date);
|
||
// 结果:20101231
|
||
```
|
||
|
||
## `formatStrToDateTime2(s, format_str)`
|
||
|
||
字符串->日期时间(包含毫秒)。
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------ | ------ | ---------------------- |
|
||
| `s` | string | 字符串类型,时间字符串 |
|
||
| `format_str` | string | 字符串类型,格式字符串 |
|
||
|
||
返回:datetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
// 字符串2021-8-12 10:31:24:199 转换为日期时间格式(包含毫秒)
|
||
s := "2021.01.04T23:00:00.000";
|
||
format_str := "yyyy.mm.ddThh:nn:ss.zzz";
|
||
return formatStrToDateTime2(s, format_str); // 结果:44200.9583333333
|
||
```
|
||
|
||
## `startOfTheHalfYear(end_t)`
|
||
|
||
返回Endt所在半年的开始日期(半年的第一天)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---- |
|
||
| `end_t` | tdatetime | 日期 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := 40599; // 40559表示2011年1月16号
|
||
return startOfTheHalfYear(end_t);
|
||
// 结果:40544 //40544表示2011年1月1号
|
||
```
|
||
|
||
## `startOfTheQuarter(end_t)`
|
||
|
||
返回Endt所在季度的开始日期(季度的第一天)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---- |
|
||
| `end_t` | tdatetime | 日期 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := 40540; // 40540表示2010年12月28日
|
||
return startOfTheQuarter (end_t);
|
||
// 结果:40452 //40452表示2010年10月1号
|
||
```
|
||
|
||
## `endOfTheQuarter(end_t)`
|
||
|
||
返回Endt所在季度的截止日期(季度的最后一天)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---- |
|
||
| `end_t` | tdatetime | 日期 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := 40540; // 40540表示2010年12月28日
|
||
return endOfTheQuarter (end_t);
|
||
// 结果:40543 //40543表示2010年12月31号
|
||
```
|
||
|
||
## `endOfTheHalfYear(end_t)`
|
||
|
||
返回Endt所在半年的截止日期(半年的最后一天)
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | --------- | ---- |
|
||
| `end_t` | tdatetime | 日期 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
end_t := 40540; // 40540表示2010年12月28日
|
||
return endOfTheHalfYear (end_t);
|
||
// 结果:40543 //40543表示2010年12月31号
|
||
```
|
||
|
||
## `incHalfYear(a_value, number)`
|
||
|
||
求Avalue的日期开始往后推移Number个半年的日期
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | --------- | -------------------------------- |
|
||
| `a_value` | tdatetime | 实数表示的日期 |
|
||
| `number` | integer | 向后推移的整数,负数表示向前推移 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
avalue := 40179; // 40179表示2010年1月1号
|
||
number := 2;
|
||
return incHalfYear(a_value, number);
|
||
// 结果:40544 //40544表示2011年1月1号
|
||
```
|
||
|
||
## `incQuarter(avalue, number)`
|
||
|
||
求Avalue的日期开始往后推移Number个季度的日期
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | --------- | ---------------------------------- |
|
||
| `avalue` | tdatetime | 实数表示的日期 |
|
||
| `number` | integer | 向后推移的整数。负数表示向前推移。 |
|
||
|
||
返回:tdatetime
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
avalue := 40179; // 40179表示2010年1月1号
|
||
number := 2;
|
||
return incQuarter(a_value, number);
|
||
// 结果:40360 //40360表示2010年7月1号
|
||
```
|
||
|
||
## `excelRDate(r_date)`
|
||
|
||
将整数报告期转换成Excel的字符串日期类型
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ------- | -------------------------- |
|
||
| `r_date` | integer | 报告期,一般用整型日期表示 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
r_date := 20101231;
|
||
return excelRDate(r_date);
|
||
// 结果:2010-12-31
|
||
```
|
||
|
||
## `Time_PACF(y)`
|
||
|
||
偏自相关系数,计算随机序列与所有滞后阶数的偏自相关系数,返回结果是一个数组。偏相关系数的计算公式如下: 是自相关系数,是偏相关系数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------ |
|
||
| `y` | array | 样本序列,为一维数组类型 |
|
||
|
||
返回:array
|
||
|
||
## `Time_RandomTest(y, m, alpha)`
|
||
|
||
Ljung和Box提出的修正Qm统计量,用于检验序列是否为白噪声,原假设为白噪声序列,即纯随机序列。(Hypothesis为1表示接受原假设,0表示拒绝原假设) Qm统计量的计算公式如下: 其中:是自相关系数,T是样本容量,m是最大滞后长度
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ----- | ---------------------------------------------- |
|
||
| `y` | array | 样本序列,为一维数组类型 |
|
||
| `m` | any | 最大滞后长度,整数类型,一般取样本数的四分之一 |
|
||
| `alpha` | float | 显著性水平,实数类型,取值在0-1之间 |
|
||
|
||
返回:array
|
||
|
||
## `Times_ADFTest(y, diff, style, f, p, alpha)`
|
||
|
||
时间序列的平稳性ADF检验;返回结果为ADF统计量和给定显著性水平下的ADF统计量的临界值;如果ADF统计量的绝对值比临界值的绝对值大,则可在该显著性水平下,拒绝原序列存在单位根的原假设,即原序列是平稳的
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------ | ------------------------------------------------------------------------------------- |
|
||
| `y` | array | 时间序列数据,为一维数组类型 |
|
||
| `diff` | any | 差分次数,整数类型,0表示不进行差分 |
|
||
| `style` | any | 是否存在常数或趋势项的选项,整数类型,无常数无趋势使用0、有常数无趋势1、有常数有趋势2 |
|
||
| `f` | string | 滞后阶数判断信息准则,字符串类型,"SBIC","AIC" |
|
||
| `p` | any | 滞后阶数,为整型类型,输入0则表示自动选择 |
|
||
| `alpha` | float | 显著性水平,实数类型,范围在0-1之间 |
|
||
|
||
返回:array
|
||
|
||
## `Time_GreenFun(ap, mq)`
|
||
|
||
中间函数,ARMA模型的Green函数,Green函数的递推公式如下: 式中: ,,是自回归方程系数,为移动平均系数,
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ----- | ------------------------------ |
|
||
| `ap` | array | 自相关系数,为一维数组类型; |
|
||
| `mq` | array | 移动平均系数,为一维数组类型; |
|
||
|
||
返回:array
|
||
|
||
## `Time_VolatilitySpillover(x, y, w_type, m, c_type)`
|
||
|
||
波动溢出,底层模型为AR(3)-GARCH(1,1),对时间序列X与Y进行Granger因果检验
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------- | ----- | ---------------------------------------------------------------------------------------------------- |
|
||
| `x` | array | 一维数字数组,时间序列X |
|
||
| `y` | array | 一维数字数组,时间序列Y |
|
||
| `w_type` | any | 整型 或 一维数字数组,加权方式,一维数字数组表示可同时返回多种加权方式 |
|
||
| `m` | any | 整数 或 一维数字数组,滞后阶数,一维数字数组表示同时计算多个M的场景,缺省时M:= array(5,10,20,30,40); |
|
||
| `c_type` | any | 整数,因果检验类型 |
|
||
|
||
返回:array
|
||
|
||
## `incPrecode()`
|
||
|
||
6位代码->8位代码;注意,该函数主要用于客户端结果处理,不提供给用户程序编辑
|
||
|
||
返回:array,tablearray
|
||
|
||
## `incPrecodeCallBack(s)`
|
||
|
||
将“000002.SZ”的代码转化为“SZ000002”
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ---- | ------ | ------ |
|
||
| `s` | string | 字符串 |
|
||
|
||
返回:string
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
return incPrecodeCallBack('000002.SZ');
|
||
// 结果:’SZ000002’
|
||
```
|