$util.time 中的时间助手 - Amazon AppSync
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

$util.time 中的时间助手

$util.time 变量包含的日期时间方法有助于生成时间截,在不同的日期时间格式之间进行转换,并解析日期时间字符串。日期时间格式的语法以此为基础 DateTimeFormatter,您可以参考以获取更多文档。我们在下面提供了一些示例,以及可用方法和描述的列表。

Time Utils

$util.time.nowISO8601() : String

返回 UTC 的 ISO8601 格式字符串表示形式。

$util.time.nowEpochSeconds() : long

返回从 1970-01-01T00:00:00Z 纪元到现在的秒数。

$util.time.nowEpochMilliSeconds() : long

返回从 1970-01-01T00:00:00Z 纪元到现在的毫秒数。

$util.time.nowFormatted(String) : String

使用字符串输入类型指定的格式返回当前 UTC 时间戳的字符串。

$util.time.nowFormatted(String, String) : String

使用字符串输入类型指定的格式和时区返回该时区当前时间戳的字符串。

$util.time.parseFormattedToEpochMilliSeconds(String, String) : Long

解析以 String 形式传递的时间戳和格式,然后以自 epoch 以毫秒为单位返回时间戳。

$util.time.parseFormattedToEpochMilliSeconds(String, String, String) : Long

解析以 String 形式传递的时间戳以及格式和时区,然后以自纪元以来的毫秒形式返回时间戳。

$util.time.parseISO8601ToEpochMilliSeconds(String) : Long

解析以 String 形式传递的 ISO8601 时间戳,然后以自纪元以来的毫秒形式返回时间戳。

$util.time.epochMilliSecondsToSeconds(long) : long

将纪元毫秒数时间戳转换为纪元秒数时间戳。

$util.time.epochMilliSecondsToISO8601(long) : String

将纪元毫秒时间戳转换为 ISO8601 时间戳。

$util.time.epochMilliSecondsToFormatted(long, String) : String

将传递相同长度的纪元毫秒时间戳转换为根据提供的UTC格式格式的时间戳。

$util.time.epochMilliSecondsToFormatted(long, String, String) : String

将以长整形式传递的 epoch 毫秒时间戳转换为根据提供的时区中提供的格式进行格式化的时间戳。

独立函数示例

$util.time.nowISO8601() : 2018-02-06T19:01:35.749Z $util.time.nowEpochSeconds() : 1517943695 $util.time.nowEpochMilliSeconds() : 1517943695750 $util.time.nowFormatted("yyyy-MM-dd HH:mm:ssZ") : 2018-02-06 19:01:35+0000 $util.time.nowFormatted("yyyy-MM-dd HH:mm:ssZ", "+08:00") : 2018-02-07 03:01:35+0800 $util.time.nowFormatted("yyyy-MM-dd HH:mm:ssZ", "Australia/Perth") : 2018-02-07 03:01:35+0800

转换示例

#set( $nowEpochMillis = 1517943695758 ) $util.time.epochMilliSecondsToSeconds($nowEpochMillis) : 1517943695 $util.time.epochMilliSecondsToISO8601($nowEpochMillis) : 2018-02-06T19:01:35.758Z $util.time.epochMilliSecondsToFormatted($nowEpochMillis, "yyyy-MM-dd HH:mm:ssZ") : 2018-02-06 19:01:35+0000 $util.time.epochMilliSecondsToFormatted($nowEpochMillis, "yyyy-MM-dd HH:mm:ssZ", "+08:00") : 2018-02-07 03:01:35+0800

解析示例

$util.time.parseISO8601ToEpochMilliSeconds("2018-02-01T17:21:05.180+08:00") : 1517476865180 $util.time.parseFormattedToEpochMilliSeconds("2018-02-02 01:19:22+0800", "yyyy-MM-dd HH:mm:ssZ") : 1517505562000 $util.time.parseFormattedToEpochMilliSeconds("2018-02-02 01:19:22", "yyyy-MM-dd HH:mm:ss", "+08:00") : 1517505562000

与Amazon AppSync定义的标量一起使用

以下格式与 AWSDateAWSDateTimeAWSTime 兼容。

$util.time.nowFormatted("yyyy-MM-dd[XXX]", "-07:00:30") : 2018-07-11-07:00 $util.time.nowFormatted("yyyy-MM-dd'T'HH:mm:ss[XXXXX]", "-07:00:30") : 2018-07-11T15:14:15-07:00:30