0

在芭蕾舞女演员时间包的createTime函数中,它要求 zoneID 作为函数参数,当我提供自定义 zoneID 时,程序继续运行而没有任何输出。有没有办法找到那些具有相关时区的预定义时区ID?

4

1 回答 1

1

ballerina time包底层实现是Java,zone ID处理规则与Java规则类似。基本上规则如下。

  • 如果区域 ID 等于“Z”,则结果为 UTC。如果区域 ID 等于“GMT”、“UTC”或“UT”,则相当于 UTC。
  • 如果区域 ID 以“+”或“-”开头,则该 ID 被解析为偏移量。可以通过以下方式之一指定偏移量。

    +h, +hh, +hh:mm, -hh:mm, +hhmm, -hhmm, +hh:mm:ss, -hh:mm:ss, +hhmmss, -hhmmss

  • 区域 ID 也可以是基于区域的区域 ID。格式为“{area}/{city}”,例如:“America/Panama”。这些区域基于 IANA 时区数据库 (TZDB) 提供的数据。

前任:

使用 UTC

time:Timezone zoneValue = {zoneId:"Z"};
time:Time time = new(1456876583555, zoneValue);

使用偏移量

time:Timezone zoneValue = {zoneId:"-05:00"};
time:Time time = new(1456876583555, zoneValue);

使用基于区域的区域 ID

time:Timezone zoneValue = {zoneId:"America/Panama"};
time:Time time = new(1456876583555, zoneValue);

我们希望在未来版本的 Ballerina 中改进这个 API,为区域 ID 等提供适当的表示。

您可以参考芭蕾舞女演员日期时间示例了解更多详细信息。

于 2018-07-06T08:21:51.057 回答