文章
Jingwei Wang · 十二月 29, 2021 阅读大约需 4 分钟

$ZDATETIME 和 $ZDATETIMEH 参数

dformat :

描述
1 MM/DD/[YY]YY : 07/01/97 或 02/22/2018
2 DD Mmm [YY]YY : 01 Jul 97
3 YYYY-MM-DD :2018-02-22 (ODBC时间格式:默认值在下面的tformat部分有描述) 默认情况下,这种格式与当前的地区设置无关 如果要使用你当前的日期和时间的地区设置与这种格式,请将localeopt设置为0。
4 DD/MM/[YY]YY :01/07/97 或 22/02/2018
5 Mmm [D]D, YYYY :Jul 1, 1997
6 Mmm [D]D YYYY :Jul 1 1997
7 Mmm DD [YY]YY :Jul 01 1997
8 YYYYMMDD :19970701
9 Mmmmm [D]D, YYYY :July 1, 1997
10 W (2) :一个星期的日数,从0(星期日)到6(星期六)编号。
11 Www (Tue) — 日期缩写
12 Wwwwww (Tuesday) —日期全写
13 [D]D/[M]M/YYYY :1/7/2549 或 27/11/2549 泰国日期格式
14 nnn (354) — 年的天数
15 DD/MM/[YY]YY :01/07/97 或者 22/02/2018
16 YYYYc[M]Mc[D]Dc : 日本日期格式
17 YYYYc [M]Mc [D]Dc :日本日期格式
18 [D]D Mmmmm YYYY :伊斯兰日期格式
19 [D]D [M]M YYYY :伊斯兰日期格式
20 [D]D Mmmmm YYYY :伊斯兰日期格式
21 [D]D [M]M YYYY :伊斯兰日期格式
-1 从用户的locale中获取有效的dformat值,fmt.DateFormat,其中fmt是与当前进程相关的##class(%SYS.NLS.Format)的一个实例。如果没有指定dformat,这就是默认值。
-2 $ZDATETIME返回一个整数,指定从一个平台特定的起始日期/时间算起的秒数。这是ISO C编程语言标准中定义的由time()库函数返回的值。 使用-2时,tformat, precision, monthlist, yearopt, startwin, and endwin参数会被忽略。
-3 $ZDATETIME接收一个以$HOROLOG内部格式指定的日期时间值,将该值从本地时间转换为UTC时间,并以相同的内部格式返回结果值。 使用-3时,tformat、monthlist、yearopt、startwin和endwin等参数被忽略。

 

tformat :

描述
-1 从当前地区的TimeFormat属性中获取有效的tformat值,默认值为1。 如果你没有为除3以外的所有dformat值指定tformat,这就是默认行为。
1 hh:mm:ss 24小时制
2 hh:mm 24小时制
3 hh:mm:ss[AM/PM] 12小时制
4 hh:mm[AM/PM] 12小时制
5 hh:mm:ss+/-*hh:mm 24小时制. 时间表示为当地时间。加号(+)或减号(-)的后缀显示系统定义的本地时间与UTC的偏移量,例如+08:00
6 hh:mm+/-*hh:mm 24小时制. 时间表示为当地时间。加号(+)或减号(-)的后缀显示系统定义的本地时间与UTC的偏移量,例如+08:00
7 hh:mm:ssZ 24小时制. 后缀 "Z "表示时间是以UTC,而不是以当地时间表示。
8 hh:mmZ 24小时制. 后缀 "Z "表示时间是以UTC,而不是以当地时间表示。

注意:

如果省略tformat或将其设置为-1,tformat的默认值取决于localeopt参数和NLS TimeFormat属性。

要确定所在地区的默认时间属性,可调用NLS类方法GetFormatItem() 。

 WRITE ##class(%SYS.NLS.Format).GetFormatItem("TimeFormat"),!
 WRITE ##class(%SYS.NLS.Format).GetFormatItem("TimeSeparator"),!
 WRITE ##class(%SYS.NLS.Format).GetFormatItem("DecimalSeparator")

 

yearopt

dformat值为0、1、2、4、7或15的情况下,是一个数字代码,用于指定将年份显示为两位数的时间窗口。

描述

-1

默认当前的locale

0

用两位数的年份来表示20世纪的日期(1900年到1999年) 用四位数的年份表示所有在20世纪以外或在特定过程的滑动窗口以外的日期

1

用两位数的年份表示20世纪的日期 用四位数的年份表示所有其他日期

2

用两位数的年份表示所有日期。

3

用两位数的年份表示那些属于startwin和(可选)endwin所定义的滑动时间窗口的日期。 用四位数的年代表所有其他的日期。当yearopt=3时,startwinendwin$HOROLOG格式的绝对日期。

4

用四位数的年份代表所有日期

5

用两位数的年份表示所有属于startwin和(可选)endwin定义的滑动窗口内的日期。 用四位数的年代表所有其他的日期。当yearopt=5时,startwinendwin是相对年份

6

用两位数的年份表示本世纪的所有日期 用四位数的年份表示所有其他的日期

00
1 0 0 15
登录或注册以继续