第十三章 控制值的转换 - 处理UTC时区指示符

对于支持XML的类,可以指定在从XML文档导入时是否使用UTC时区指示符。同样,可以指定是否在导出时包含UTC时区指示符。

为此,指定XMLTIMEZONE参数。使用以下值之一:

  • UTC”—在这种情况下,导入带有xsd:timexsd:dateTime的元素时,数据将被转换为UTC时间。这是默认行为。

    为了遵守XML Schema规范,IRIS XML支持将时区指示符视为纯粹的持续时间,并忽略任何命名的时区,如EDT

  • IGNORE”—在这种情况下,导入带有xsd:timexsd:dateTime的元素时,将忽略UTC时区指示符。

在导出时,总是使用UTC时间。XMLTIMEZONE参数控制包含的UTC区域指示符。

Class ResearchXForms.UTC Extends (%Persistent, %XML.Adaptor)
{

Parameter XMLNAME = "Demo";

Property Time1 As %Time;

Property Time2 As %Time(XMLTIMEZONE = "IGNORE");

Property TimeStamp1 As %TimeStamp;

Property TimeStamp2 As %TimeStamp(XMLTIMEZONE = "IGNORE");

}

该类的XML输出可能如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<Demo>
  <Time1>17:52:06Z</Time1>
  <Time2>17:52:06</Time2>
  <TimeStamp1>1976-02-18T17:52:06Z</TimeStamp1>
  <TimeStamp2>1976-02-18T17:52:06</TimeStamp2>
</Demo>
11-23 08:57