时钟

注意:要显示特定设备上存在的功能,请从下面的 SmartDocs 栏中选择一个或多个过滤器。

StageNow - 2.10

概述

时钟允许管理员手动设置设备上的日期、时间和时区,或配置设备自动从网络中获取这些设置(如从 NTP 服务器获取日期和时间,从蜂窝网络获取日期、时间和时区)。时钟还允许管理员在 12 小时(上午/下午)和 24 小时(军用时间)显示格式之间选择 。

Zebra Android 设备使用协调世界时 (UTC) 标准跟踪当前日期和时间。该信息使时钟能够准确地计算当地日期和时间,表示为本地时间坐标 (LTC)。在英格栏格林威治的本初子午线,UTC 等同于 LTC,没有时差。对于其他大多数地方,LTC 的计算方法是:从 UTC 开始,根据使用设备时所在的时区加上或减去相应的时间,然后再加上或减去夏令时时差(如有)。

时钟按协调世界时 (UTC) 设置日期和时间,确保基于时区和夏令时时差正确转换为本地时间。如果使用 LTC 作为起始点,那么输入日期、时间和时区的顺序将影响产生的值。有关更多信息,请参见本指南末尾的 LTC 计算示例

主要功能

  • 设置当前时间
  • 设置当前日期
  • 设置时区
  • 显示 12 小时(上午/下午)或 24 小时“军事时间”格式
  • 设置设备从网络获取日期、时间和时区(如果可能)
  • 设置 NTP 服务器地址
  • 设置自动时间同步间隔

自动时间启用/禁用

控制是手动设置还是使用蜂窝网络或 NTP 服务器中的值自动设置设备上的日期和时间。当 AutoTime 处于启用状态时,设备将尝试以从蜂窝网络获取日期和时间(如有)或者按 Syncinterval 参数中指定的间隔联系 NTP 服务器(如果提供)。当 AutoTime 处于禁用状态时,可将日期和时间手动设置为任何有效值。

无论如何获取值,时钟将按协调世界时 (UTC) 设置日期和时间,确保正确转换为本地时间

参数名称:AutoTime

选项 名称 说明需要
此值(或 XML 中缺少此参数)将禁用 AutoTime,阻止设备自动设置从网络获取的日期和时间值。

OSX:1.3+

MX:4.2+

启用 AutoTime,允许设备自动设置从网络获取的日期和时间值。

OSX:1.3+

MX:4.2+

NTP 服务器地址

用于指定在启用 AutoTime 时以指定的同步间隔联系以获取日期和时间的 NTP 服务器的 URL 或 IP 地址。在蜂窝网络上运行的设备通常可以从运营商网络获取日期、时间(还可能有时区)。不支持蜂窝通信或者可能暂时不能访问支持的蜂窝网络的设备的可以通过非蜂窝网络(如 Wi-Fi 或以太网)从 NTP 服务器获取日期和时间(但不能获取时区)。

参数输入规则

  • 接受一个字符串,其中包含 NTP 服务器的有效 URL 或 IP 地址。
  • 如果留空(或 XML 中缺少此参数),将使用默认的 NTP 服务器

在以下条件下显示:AutoTime 为“true”

参数名称:NTPServer

需要:

  • MX:4.2+
  • Android API:19+

设置同步间隔

用于指定在启用 AutoTime 时设备尝试联系指定的 NTP 服务器以获取日期和时间的间隔。对于在蜂窝网络上运行的设备,AutoTime 通常从运营商网络获取日期和时间

在以下条件下显示:AutoTime 为“true”

参数名称:SyncInterval

选项 名称 说明需要
00:30:00 30 分钟 设置设备每 30 分钟联系 NTP 服务器一次。

MX:4.2+

Android API:16+

00:60:00 60 分钟 设置设备每 60 分钟联系 NTP 服务器一次。

MX:4.2+

Android API:16+

6:00:00 6 小时 设置设备每 6 小时联系 NTP 服务器一次。

MX:4.2+

Android API:16+

24:00:00 24 小时 设置设备每 24 小时联系 NTP 服务器一次。

MX:4.2+

Android API:16+

自动时区启用/禁用

使配备蜂窝的设备能够从运营商网络获取它所在的时区(如果该网络支持)。时钟使用该时区来计算设备上的本地时间。当禁用 AutoTimeZone 时,可通过 UI 以手动方式或使用“时区”参数以编程方式设置时区。AutoTimeZone 功能仅适用于配备蜂窝的设备

警告:更改“自动时区启用/禁用”设置时,如果是从 Android 最近应用程序列表中启动面板,“设置”面板不会反映新设置。为避免出现这种不正确的设置(对于正确的设备操作没有影响),可从 App Manager 添加相关 XML 到任何创建用来设置时钟的配置文件,从最近应用程序列表中清除“设置”应用程序。

参数名称:AutoTimeZone

选项 名称 说明需要
此值(或 XML 中缺少此参数)将禁用自动时区,阻止设备自动从运营商网络获取时区。

OSX:1.3+

MX:6.0+

使设备可以自动获取当前时区(如果运营商网络支持)。

OSX:1.3+

MX:6.0+

设置时区

用于设置用来计算设备上的本地时间坐标 (LTC) 的时区。指定空值(或 XML 中缺少此参数)将保留任何先前配置的设置。

参数输入规则

  • 接受最多 255 个字符的字符串
  • 如果留空(或 XML 中缺少此参数),将保留先前的时区设置
  • 字符串必须为以下项之一:
    • 等于“GMT”或格林威治标准时间时区的值
    • 等于“UTC”(相当于 GMT)的值
    • 以前缀“GMT”开头且包含用小时或小时分钟表示的时差的值例如:
      • GMT-10(GMT 减去 10小时)
      • GMT+05:30(GMT 加上 5.5 小时)
    • Olsen/tz 时区标识符(例如“America/New_York”)

有关详细信息,请参见以下参考网站:

在以下条件下显示:自动时区设置为“false”

参数名称:TimeZone

需要:

  • MX:4.1+
  • Android API:1+

设置日期

用于手动设置设备上的日期。为时钟提供的日期和时间值必须用 UTC 表示。(请参见概述)。指定空值(或 XML 中缺少此参数)将保留任何先前配置的日期。

参数输入规则

  • 仅接受 0 个字符或 10 个字符的字符串
  • 10 个字符的字符串必须采用“YYYY-MM-DD”格式
  • 日期必须表示为 UTC 值(请参见概述)

在以下条件下显示:自动时间设置为“false”

参数名称:Date

需要:

  • MX:4.1+
  • Android API:8+

设置时间

用于设置设备上的时间。为时钟提供的日期和时间值必须用 UTC表示(请参见概述)。指定空值(或 XML 中缺少此参数)将保留任何先前配置的时间。

参数输入规则

  • 仅接受 0 个字符或 8 个字符的字符串
  • 8 个字符的字符串必须采用 24 小时格式“HH:MM:SS”(即“23:59:59”是午夜前一秒)
  • 时间必须表示为 UTC 值(请参见概述)

在以下条件下显示:自动时间设置为“false”

参数名称:Time

需要:

  • MX:4.1+
  • Android API:8+

24 小时时间启用/禁用

控制是否在设备上以 24 小时“军用时间”格式显示时间。军用时间关闭时,则以标准的 12 小时(上午/下午)格式显示时间。

参数名称:MilitaryTime

选项 名称 说明需要
0 不更改 此值(或 XML 中缺少此参数)导致不会更改时间显示格式;任何以前选择的设置都将保留。

MX:6.0+

1 打开 以 24 小时(军用时间)格式显示时间。

MX:6.0+

2 关闭 以 12 小时(上午/下午)格式显示时间。

MX:6.0+

LTC 计算示例

为时钟提供的日期和时间值必须用 UTC 表示。这可确保在根据时区和夏令时的偏移(如有)计算本地时间和时间时能够获得准确的结果。如果使用本地时间作为起始点,设置日期、时间和时区的顺序将影响产生的值。下面的示例说明如何正确进行这些计算。

在英格栏格林威治的本初子午线,UTC 等同于 LTC,没有时差。对于其他大多数地方,LTC 的计算方法是:从 UTC 开始,根据使用设备时所在的时区加上或减去相应的时间,然后再加上或减去夏令时时差(如有)。

有关详细信息,请参见以下参考网站:

示例 #1

此示例颠倒 UTC 偏移。因为 UTC 时间于东部时间,则对期望的东部时间加上小时数来计算其 UTC 等效时间。将此数字输入设备后,时钟将重新计算值以达到所需的本地时间供显示和程序使用。

1.记下期望的设备本地时间:

  • 设备位置 = 美国纽约州纽约
  • 日期 = 2010 年 1 月 15 日
  • 时间 = 下午 2:15 (14:15:00)

2.进行下列有关设备位置的观察:

  • 设备位于美国东部时区
  • 该时区的 GMT 偏移是 -5 小时(比 UTC 早 5 小时)
  • 该时区在该日期不实行夏令时

3.从期望的 LTC 计算 UTC 值:

  • 为选定的时区应用 UTC 偏移 (-05:00):
    • 14:15:00 + 05:00 = 19:15:00(增加时间,因为 UTC 晚于美国东部时间)
  • 考虑夏令时偏移(在该日期未生效):
    • 夏令时于 2010 年 3 月 14 日开始
    • 夏令时于 2010 年 11 月 7 日结束
  • 不应用日期偏移,因为时间偏移未导至“前滚入”或“后滚入”

4.因此,为时钟指定的值将是:

  • 时区 = "美国/纽约"
  • 日期 = "2010-01-15"
  • Time = "19:15:00"

通过时钟转换后,这些 UTC 值将在设备上显示为正确的 LTC 值。

示例 #2

此示例颠倒 UTC 偏移。由于 UTC 时间早于印度时间,将从期望的班加罗尔时间中减云小时数来计算它的 UTC 等效值,这会导致向后跨过本初子午线(国际日期变更线)。将此数字输入设备后,时钟将重新计算值以达到所需的本地时间和日期供显示和程序使用。

1.记下期望的设备本地时间:

  • 设备位置 = 印度班加罗尔
  • 日期 = 2011 年 7 月 11 日
  • 时间 = 上午 2:55 (02:55:00)

2.进行下列有关设备位置的观察:

  • 设备位于印度时区
  • 该时区的 GMT 偏移是 +05:30(比 GMT 早 +5.5 小时)
  • 该时区不实行夏令时

3.从期望的 LTC 计算 UTC 值:

  • 为选定的时区应用 GMT 偏移 (+05:30):
    • 02:55:00 - 05:30 = 21:25:00(回滚超过 00:00;减去 1 天)
  • 不应用夏令时偏移
    • 印度不实行夏令时
  • 应用一个 1 天的负日期偏移,因为时间偏移导致了“前滚入”

4.因此,为时钟指定的值将是:

  • 时区 = "亚洲/加尔各答"
  • 日期 = "2010/7/10"
  • Time = "21:25:00"

请注意日期是 2010 年 7 月 10 日,比期望的本地时间一天。这是因为当时间为印度 7 月 11 日凌晨 2:55 时,在英国格林威治(UTC 起源地)为晚上 9:25(早 5.5 小时),日期仍然是 7 月 10 日。

通过时钟转换后,这些 UTC 值将在班加罗尔的设备上显示为正确的 LTC 值。

时钟编码示例

设置时区、日期和时间

<wap-provisioningdoc><characteristic type="Clock" version="4.2" ><parm name="AutoTime" value="false"/><parm name="TimeZone" value="GMT-5"/><parm name="Date" value="2015-07-09"/><parm name="Time" value="10:25:33"/></characteristic></wap-provisioningdoc>

设置 NTP 服务器间隔

<wap-provisioningdoc><characteristic type="Clock" version="4.2" ><parm name="AutoTime" value="true"/><characteristic type="AutoTimeDetails"><parm name="SyncInterval" value="00:30:00"/></characteristic></characteristic></wap-provisioningdoc>

设置 NTP 服务器 IP 地址和间隔

<wap-provisioningdoc><characteristic type="Clock" version="4.2" ><parm name="AutoTime" value="true"/><characteristic type="AutoTimeDetails"><parm name="NTPServer" value="1.2.3.4"/><parm name="SyncInterval" value="00:30:00"/></characteristic></characteristic></wap-provisioningdoc>