XML Schema 日期/時(shí)間 數(shù)據(jù)類型

2018-02-26 11:34 更新

XSD 日期和時(shí)間數(shù)據(jù)類型

XSD 日期和時(shí)間數(shù)據(jù)類型定義了文檔中的日期與時(shí)間。


日期及時(shí)間數(shù)據(jù)類型用于包含日期和時(shí)間的值。


日期數(shù)據(jù)類型(Date Data Type)

日期數(shù)據(jù)類型用于定義日期。

日期使用此格式進(jìn)行定義:"YYYY-MM-DD",其中:

  • YYYY 表示年份
  • MM 表示月份
  • DD 表示天數(shù)

注意:所有的成分都是必需的

下面是一個(gè)有關(guān) schema 中日期聲明的例子:

<xs:element name="start" type="xs:date"/>

文檔中的元素看上去應(yīng)該類似這樣:

<start>2002-09-24</start>

時(shí)區(qū)

如需規(guī)定一個(gè)時(shí)區(qū),您也可以通過在日期后加一個(gè) "Z" 的方式,使用世界調(diào)整時(shí)間(UTC time)來輸入一個(gè)日期 - 比如這樣:

<start>2002-09-24Z</start>

或者也可以通過在日期后添加一個(gè)正的或負(fù)時(shí)間的方法,來規(guī)定以世界調(diào)整時(shí)間為準(zhǔn)的偏移量 - 比如這樣:

<start>2002-09-24-06:00</start>

或者

<start>2002-09-24+06:00</start>

提示:利用 xs:date() 來強(qiáng)制轉(zhuǎn)換某個(gè)字符串為日期類型時(shí),字符串參數(shù)的格式需要嚴(yán)格按照遵循:yyyy-mm-dd。



h2>時(shí)間數(shù)據(jù)類型(Time Data Type)

時(shí)間數(shù)據(jù)類型用于定義時(shí)間。

時(shí)間使用下面的格式來定義:"hh:mm:ss",其中

  • hh 表示小時(shí)
  • mm 表示分鐘
  • ss 表示秒

注意: 所有的成分都是必需的!

下面是一個(gè)有關(guān) schema 中時(shí)間聲明的例子:

<xs:element name="start" type="xs:time"/>

文檔中的元素看上去應(yīng)該類似這樣:

<start>09:00:00</start>

或者類似這樣:

<start>09:30:10.5</start>

時(shí)區(qū)

如需規(guī)定一個(gè)時(shí)區(qū),您也可以通過在時(shí)間后加一個(gè) "Z" 的方式,使用世界調(diào)整時(shí)間(UTC time)來輸入一個(gè)時(shí)間 - 比如這樣:

<start>09:30:10Z</start>

或者也可以通過在時(shí)間后添加一個(gè)正的或負(fù)時(shí)間的方法,來規(guī)定以世界調(diào)整時(shí)間為準(zhǔn)的偏移量 - 比如這樣:

<start>09:30:10-06:00</start>

or

<start>09:30:10+06:00</start>


日期時(shí)間數(shù)據(jù)類型(DateTime Data Type)

日期時(shí)間數(shù)據(jù)類型用于定義日期和時(shí)間。

日期時(shí)間使用下面的格式進(jìn)行定義:"YYYY-MM-DDThh:mm:ss",其中:

  • YYYY 表示年份
  • MM 表示月份
  • DD 表示日
  • T 表示必需的時(shí)間部分的起始
  • hh 表示小時(shí)
  • mm 表示分鐘
  • ss 表示秒

注意: 所有的成分都是必需的!

下面是一個(gè)有關(guān) schema 中日期時(shí)間聲明的例子:

<xs:element name="startdate" type="xs:dateTime"/>

文檔中的元素看上去應(yīng)該類似這樣:

<startdate>2002-05-30T09:00:00</startdate>

或者類似這樣:

<startdate>2002-05-30T09:30:10.5</startdate>

時(shí)區(qū)

如需規(guī)定一個(gè)時(shí)區(qū),您也可以通過在日期時(shí)間后加一個(gè) "Z" 的方式,使用世界調(diào)整時(shí)間(UTC time)來輸入一個(gè)日期時(shí)間 - 比如這樣:

<startdate>2002-05-30T09:30:10Z</startdate>

或者也可以通過在時(shí)間后添加一個(gè)正的或負(fù)時(shí)間的方法,來規(guī)定以世界調(diào)整時(shí)間為準(zhǔn)的偏移量 - 比如這樣:

<startdate>2002-05-30T09:30:10-06:00</startdate>

或者

<startdate>2002-05-30T09:30:10+06:00</startdate>


h2>持續(xù)時(shí)間數(shù)據(jù)類型(Duration Data Type)

持續(xù)時(shí)間數(shù)據(jù)類型用于規(guī)定時(shí)間間隔。

時(shí)間間隔使用下面的格式來規(guī)定:"PnYnMnDTnHnMnS",其中:

  • P 表示周期(必需)
  • nY 表示年數(shù)
  • nM 表示月數(shù)
  • nD 表示天數(shù)
  • T 表示時(shí)間部分的起始 (如果您打算規(guī)定小時(shí)、分鐘和秒,則此選項(xiàng)為必需)
  • nH 表示小時(shí)數(shù)
  • nM 表示分鐘數(shù)
  • nS 表示秒數(shù)

下面是一個(gè)有關(guān) schema 中持續(xù)時(shí)間聲明的例子:

<xs:element name="period" type="xs:duration"/>

文檔中的元素看上去應(yīng)該類似這樣:

<period>P5Y</period>

上面的例子表示一個(gè) 5 年的周期。

或者類似這樣:

<period>P5Y2M10D</period>

上面的例子表示一個(gè) 5 年、2 個(gè)月及 10 天的周期。

或者類似這樣:

<period>P5Y2M10DT15H</period>

上面的例子表示一個(gè) 5 年、2 個(gè)月、10 天及 15 小時(shí)的周期。

或者類似這樣:

<period>PT15H</period>

上面的例子表示一個(gè) 15 小時(shí)的周期。

負(fù)的持續(xù)時(shí)間

如需規(guī)定一個(gè)負(fù)的持續(xù)時(shí)間,請?jiān)?P 之前輸入減號(hào):

<period>-P10D</period>

上面的例子表示一個(gè)負(fù) 10 天的周期。


日期和時(shí)間數(shù)據(jù)類型

名稱 描述
date 定義一個(gè)日期值
dateTime 定義一個(gè)日期和時(shí)間值
duration 定義一個(gè)時(shí)間間隔
gDay 定義日期的一個(gè)部分 - 天 (DD)
gMonth 定義日期的一個(gè)部分 - 月 (MM)
gMonthDay 定義日期的一個(gè)部分 - 月和天 (MM-DD)
gYear 定義日期的一個(gè)部分 - 年 (YYYY)
gYearMonth 定義日期的一個(gè)部分 - 年和月 (YYYY-MM)
time 定義一個(gè)時(shí)間值


對日期數(shù)據(jù)類型的限定(Restriction)

可與日期數(shù)據(jù)類型一同使用的限定:

  • enumeration
  • maxExclusive
  • maxInclusive
  • minExclusive
  • minInclusive
  • pattern
  • whiteSpace

以上就是關(guān)于 XML Schema 日期/時(shí)間 數(shù)據(jù)類型的相關(guān)內(nèi)容。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)