下面提供了日期和日期时间问题的报告表达示例。
注:
这些表达式不适用于以字符串存储的时间问题。
为确保日期和日期时间问题以适用于您所在区域格式的精确方式显示,可以使用表达式对问题进行格式设置以匹配提供的区域。 请先将 locale 方法放置在表达式中,并且区域代码必须小写。
${datetime | locale:"pt-br"}
注:
有关特定语言区域设置代码的信息,请参阅“维基百科”的 ISO 639-1 代码列表。 但是,Survey123 并非支持上述所有语言。
要素图层中的所有日期和日期时间值均存储在协调世界时间 (UTC) 中。 默认情况下,报告中返回的所有日期和日期时间值均位于用于请求生成报告的 Web 浏览器所在的时区。 可以使用 utcOffset 方法来更改报表中这些值的显示,以匹配特定时区。 下面的表达式显示对相对于 UTC 偏移 +1 小时的日期时间问题的响应:
${datetime | utcOffset:"+01:00"}
utcOffset 方法支持格式 +01:00、+0100 和 +01,并返回相同的结果。 您还可以使用此方法来更改响应提交时间的显示。
对于日期和日期时间问题,可以使用表达式来设置日期的格式,方法为:针对日、月和年分别使用 DD、MM 和 YYYY 占位符。 以下表达式仅显示日和月,忽略年:
${date | format:"DD/MM"}
您还可以在日期时间问题中设置时间的格式,方法是为小时、分钟和秒分别使用 HH、mm 和 ss 作为占位符。 以下表达式可显示日、月、小时和分钟:
${datetime | format:"DD/MM HH:mm"}
通过将 format 方法的值留空,可以使用 YYYY-MM-DDTHH:mm:ss±HH:mm ISO 8601 格式显示日期和时间,如下例所示:
${datetime | format:""}
有关日期和时间格式的详细信息,请参阅下表。
注:
必须将 format 方法放置在表达式的末尾。
您可以使用 $date 关键字打印生成报告的日期和时间。 使用 format 方法控制是否打印日期、时间或两者。 以下示例可以使用区域设置的默认日期格式打印生成报告的日期(无时间):
${$date}
对于生成报告的日期和时间,以下表达式可打印其月份、日期、年份、小时和分钟:
${$date | format:"MM/DD/YYYY HH:mm"}
以下表达式可以使用 12 小时制的时、分和秒打印报告生成时间(无日期):
${$date | format:"h:mm:ss A"}
$date 关键字还支持 utcOffset 和 locale 方法。 如果同时指定了 format 和 locale,会忽略 locale 方法。
日期和时间格式
下表列出了最常见的占位符,这些占位符可以与 format 方法配合使用以设置报告中日期和日期时间问题中的日期和时间的格式:
占位符 | 描述 |
---|---|
YY | 年份的后两位数。 示例:2023 将以 23 的形式表示。 |
YYYY | 四位数年份。 示例:2023 将以 2023 的形式表示。 |
M | 介于 1 和 12 之间的月份数。 示例:一月将以 1 的形式表示。 |
MM | 两位数月份数。 示例:一月将以 01 的形式表示。 |
MMM | 采用三个字母形式的月份。 例如:一月将以 Jan 的形式表示。 |
MMMM | 以全名写入的月份。 示例:一月将以 January 的形式表示。 |
D | 介于 1 和 31 之间的日期数。 示例:每月的第一天将以 1 的形式表示。 |
DD | 两位数日期数。 示例:每月的第一天将以 01 的形式显示。 |
Do | 包含序数后缀的日期数。 示例:每月的第一天将以 1st 的形式表示。 |
H | 24 小时制小时数。 示例:下午 11 点将以 23 的形式表示。 |
HH | 24 小时制两位数小时数。 示例:上午 2 点将以 02 的形式表示。 |
h | 12 小时制小时数。 示例:下午 11 点将以 11 的形式表示。 |
hh | 12 小时制两位数小时数。 示例:上午 2 点将以 02 的形式表示。 |
m | 介于 0 和 59 之间的分钟数。 示例:8 分钟将以 8 的形式表示。 |
mm | 两位数分钟数。 示例:8 分钟将以 08 的形式表示。 |
ss | 两位数的秒数。 示例:9 秒会表示为 09。 |
Z | 采用小时的形式并使用分隔符的时区偏移。 示例:-07:00, +13:00 |
ZZ | 采用小时的形式但不使用分隔符的时区偏移。 示例:-0700, +1300 |
x | UNIX 毫秒时间戳。 示例:2023 年 5 月 4 日下午 9 点 (GMT) 将表示为 1683234000000。 |
X | UNIX 时间戳。 示例:2023 年 5 月 4 日下午 9 点 (GMT) 将表示为 1683234000。 |
a | 小写上午或下午表示法。 示例:上午将以 am 的形式表示,下午将以 pm 的形式表示。 |
A | 大写上午或下午表示法。 示例:上午将以 AM 的形式表示,下午将以 PM 的形式表示。 |