STODT( ) 函数
将序列日期时间,即以整数形式表示的日期时间和 24 小时的小数部分转换为日期时间值。英文“Serial to Datetime”的缩写。
语法
STODT(序列日期时间 <,开始日期>)
参数
名称 | 类型 | 描述 |
---|---|---|
序列日期时间 |
数值 |
要转换的域、表达式或字面量值。 需要用小数点分隔日期部分和时间部分的序列日期时间值。例如,42003.75000 |
开始日期
可选 |
日期时间 |
从中计算序列日期的开始日期。如果省略此参数,则使用默认开始日期 1900 年 1 月 1 日。 |
输出
日期时间。日期时间值使用当前 Analytics 日期和时间显示格式输出。
示例
基本示例
未经调整的开始日期
返回 `20141231t060000`,它显示为 31 Dec 2014 06:00:00 AM(假定当前 Analytics 日期和时间显示格式为 DD MMM YYYY 和 hh:mm:ss PM):
STODT(42003.25000)
返回 `20141231t191530`,它显示为 31 Dec 2014 07:15:30 PM(假定当前 Analytics 日期和时间显示格式为 DD MMM YYYY 和 hh:mm:ss PM):
STODT(42003.802431)
经过调整的开始日期
返回 `20181231t120000`,它显示为 31 Dec 2018 12:00:00 PM(假定当前 Analytics 日期和时间显示格式为 DD MMM YYYY 和 hh:mm:ss PM):
STODT(42003.50000, `19040101`)
将域作为输入
返回 Receipt_datetime 域中每个序列日期时间值的等效日期时间:
STODT(Receipt_datetime)
高级示例
为 1900-01-01 之前的开始日期调整
使用日期算术将开始日期调整为早于 Analytics 最小日期 1900 年 1 月 1 日的值:
- 使用默认开始日期转换序列日期时间。
- 减去实际开始日期落入的早于 1900-01-01 的天数。
要使用 1899-01-01 作为开始日期(其值为`20131231t180000`):
STODT(42003.75000) - 365
备注
工作原理
STODT( ) 函数使您可以将序列日期时间转换为常规日期时间。Analytics 序列日期时间表示自 1900 年 1 月 1 日以来已经逝去的天数,而小数点后面的部分表示 24 小时的小数部分,24 小时等于 1。
序列日期时间 |
常规日期时间等效值 |
---|---|
1.25 |
1900 年 1 月 2 日 06:00:00 AM |
365.75000 |
1900 年 12 月 31 日 06:00:00 PM |
42003.79167 |
2014 年 12 月 31 日 07:00:00 PM |
42003.802431 |
2014 年 12 月 31 日 07:15:30 PM |
42003.00000 |
2014 年 12 月 31 日 12:00:00 AM |
42003.50000 |
2014 年 12 月 31 日 12:00:00 PM |
0.0 |
无效 |
有关序列日期时间的详细信息,请参见序列日期时间。
Analytics 序列日期与 Excel 序列日期之比较
Analytics 序列日期类似于 Microsoft Excel 序列日期。您应该知道一个关键相似点和一个关键不同点。这两点之间没有关系。
相似点
Analytics 和 Excel 都将 1900 年视为闰年,有 366 天。尽管 1900 实际上不是闰年,但 Excel 将其视为闰年,以便保持与 Lotus 1-2-3 的兼容性。
不同点
Analytics 序列日期与 Excel 序列日期相差一天。在 Excel 中,1900 年 1 月 1 日 的序列日期为“1”。In Analytics 中,1900 年 1 月 1 日不算在内,1900 年 1 月 2 日的序列日期为“1”。
开始日期
某些源数据文件可能使用除 1900 年 1 月 1 日以外的开始日期。开始日期使您可以匹配源数据文件中的开始日期。开始日期是从其计算序列日期时间的日期。
源数据文件中的开始日期 | 指定: | 详情 |
---|---|---|
1900 年 1 月 1 日 | STODT(日期时间域) | 您无需指定开始日期,因为 1900 年 1 月 1 日是默认的开始日期。 |
1901 年 1 月 1 日 | STODT(日期时间域, `19010101`) | 您指定开始日期 `19010101` 以匹配在源数据文件中使用的开始日期 1901 年 1 月 1 日。 |
1899 年 1 月 1 日 | STODT(日期时间域) - 365 | 您不能指定早于 1900 年 1 月 1 日的开始日期。如果源数据文件使用早于 1900 年 1 月 1 日的开始日期,您可以创建一个日期时间表达式,以便从 STODT( ) 函数的输出结果中减去适当的天数。 |
其他日期时间转换函数
序列到日期时间转换
函数 | 描述 |
---|---|
将序列日期,即以整数形式表示的日期转换为日期值。英文“Serial to Date”的缩写。 |
|
将序列时间,即以 24 小时的小数部分形式表示的时间(其中,24 小时等于 1)转换为时间值。英文“Serial to Time”的缩写。 |
字符或数值到日期时间转换
函数 | 描述 |
---|---|
将字符或数值日期值转换为日期。还可以从字符或数值日期时间值中提取日期并将其作为日期返回。英文“Character to Date”的缩写。 |
|
将字符或数值日期时间值转换为日期时间。英文“Character to Datetime”的缩写。 |
|
将字符或数值时间值转换为时间。还可以从字符或数值日期时间值中提取时间并将其作为时间返回。英文“Character to Time”的缩写。 |
日期时间到字符转换
函数 | 描述 |
---|---|
从指定的日期或日期时间中提取日期并将其以字符串形式返回。还可以返回当前操作系统日期。 |
|
将日期时间转换为字符串。还可以返回当前操作系统日期时间。 |
|
从指定的时间或日期时间中提取时间并将其以字符串形式返回。还可以返回当前操作系统时间。 |