Files
playbook/skills/tsl-api-reference/references/codegen/dotnet/runtime/datetime.md
T
2026-07-29 07:58:05 +00:00

460 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Dotnet - 运行时 / 日期时间(AnalyseNG.NET 专有)
## `strtodatetime2(s)`
声明:function
字符串->日期时间(包含毫秒)
| 参数 | 类型 | 说明 |
| ---- | ------ | -------------------------------------------------------------------------------------------------------------- |
| `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)`
声明:function
将字符串类型的日期按照不同的格式转换成实数型的日期。
| 参数 | 类型 | 说明 |
| ------------ | ------- | ------------------------------------------ |
| `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)`
声明:function
将报告期类型日期转化成实数型
| 参数 | 类型 | 说明 |
| -------- | ------- | ------------------ |
| `r_date` | integer | 整型类的报告期日期 |
返回:tdatetime
### 示例
```tsl
// 报告期为2010年年报
r_date := 20101231;
return excelIntToDate(r_date);
// 结果:40543
```
## `excelDateToInt(r_date)`
声明:function
将日期型报告期转化成整数型报告期
| 参数 | 类型 | 说明 |
| -------- | --------- | ------------ |
| `r_date` | tdatetime | 日期型报告期 |
返回:integer
### 示例
```tsl
r_date := 20101231;
return excelDateToInt(r_date);
// 结果:20101231
```
## `formatStrToDateTime2(s, format_str)`
声明:function
字符串->日期时间(包含毫秒)。
| 参数 | 类型 | 说明 |
| ------------ | ------ | ---------------------- |
| `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)`
声明:function
返回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)`
声明:function
返回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)`
声明:function
返回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)`
声明:function
返回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)`
声明:function
求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)`
声明:function
求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)`
声明:function
将整数报告期转换成Excel的字符串日期类型
| 参数 | 类型 | 说明 |
| -------- | ------- | -------------------------- |
| `r_date` | integer | 报告期,一般用整型日期表示 |
返回:string
### 示例
```tsl
r_date := 20101231;
return excelRDate(r_date);
// 结果:2010-12-31
```
## `incPrecodeCallBack(s)`
声明:function
将“000002.SZ”的代码转化为“SZ000002”
| 参数 | 类型 | 说明 |
| ---- | ------ | ------ |
| `s` | string | 字符串 |
返回:string
### 示例
```tsl
return incPrecodeCallBack('000002.SZ');
// 结果:’SZ000002
```
## `IncomeTax_12(r_date)`
声明:function
最近12个月的所得税。 (1)所得税取自合并利润分配表; (2)根据最近12个月的算法得到最近12个月的所得税【注1】。
| 参数 | 类型 | 说明 |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数,报告期。 |
返回:float
## `IncomeTax_Year(r_date, n)`
声明:function
最近N年的所得税。 (1)取向后兼容的最新年报Q1,取N-1年前同期的年报Q2; (2)在合并利润分配表取Q2报告期的所得税。
| 参数 | 类型 | 说明 |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数,报告期; |
| `n` | any | 整数,最近N年 |
返回:float
## `IncomeTax_Q(r_date)`
声明:function
计算指定报告期最近1季度的所得税。 根据季度数据的算法【注3】,函数从合并现金流量表中取出多个报告期的筹资活动产生的现金流,计算最近1季度的所得税。
| 参数 | 类型 | 说明 |
| -------- | -------- | -------------- |
| `r_date` | datetime | 整数,报告期; |
返回:float
## `Time_InvFun(left_values, right_values)`
声明:function
根据两个输入序列计算逆函数序列。
| 参数 | 类型 | 说明 |
| -------------- | ----- | -------- |
| `left_values` | array | 左侧序列 |
| `right_values` | array | 右侧序列 |
返回:array
## `Times_Granger(y_values, x_values, lag_order, alpha)`
声明:function
检验 `x_values` 是否为 `y_values` 的 Granger 原因。
| 参数 | 类型 | 说明 |
| ----------- | ----- | ------------ |
| `y_values` | array | 被解释序列 |
| `x_values` | array | 候选原因序列 |
| `lag_order` | any | 滞后阶数 |
| `alpha` | float | 显著性水平 |
返回:array
## `Times_Cointergration_test(y_values, x_values, diff_order, alpha, lag_order, criterion)`
声明:function
执行两个序列的协整检验。
| 参数 | 类型 | 说明 |
| ------------ | ------ | -------------------------------- |
| `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)`
声明:function
判断两个序列是否存在协整关系。
| 参数 | 类型 | 说明 |
| ---------- | ----- | -------------- |
| `y_values` | array | 第一条时间序列 |
| `x_values` | array | 第二条时间序列 |
| `alpha` | float | 显著性水平 |
返回:string
## `Times_ECM(y_values, x_values, residuals, alpha, p_order, q_order)`
声明:function
建立误差修正模型。
| 参数 | 类型 | 说明 |
| ----------- | ----- | ------------------- |
| `y_values` | array | 第一条时间序列 |
| `x_values` | array | 第二条时间序列 |
| `residuals` | array | 协整检验残差项 |
| `alpha` | float | 显著性水平 |
| `p_order` | any | `y_values` 滞后阶数 |
| `q_order` | any | `x_values` 滞后阶数 |
返回:array
## `Times_GrangerCausality(series_matrix, lag_order)`
声明:function
对矩阵中的多个序列执行两两 Granger 因果检验。
| 参数 | 类型 | 说明 |
| --------------- | ----- | --------------------------------------------------- |
| `series_matrix` | array | 多个时间序列组成的矩阵;可由两条序列用 `left_series |
| `lag_order` | any | 滞后阶数 |
返回:array
## `Time_PACF(y)`
声明:function
偏自相关系数,计算随机序列与所有滞后阶数的偏自相关系数,返回结果是一个数组。偏相关系数的计算公式如下: 是自相关系数,是偏相关系数
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------------------ |
| `y` | array | 样本序列,为一维数组类型 |
返回:array
## `Time_RandomTest(y, m, alpha)`
声明:function
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)`
声明:function
时间序列的平稳性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)`
声明:function
中间函数,ARMA模型的Green函数,Green函数的递推公式如下: 式中: ,,是自回归方程系数,为移动平均系数,
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------------------------ |
| `ap` | array | 自相关系数,为一维数组类型; |
| `mq` | array | 移动平均系数,为一维数组类型; |
返回:array
## `incPrecode()`
声明:function
6位代码->8位代码;注意,该函数主要用于客户端结果处理,不提供给用户程序编辑
返回:array,tablearray