$util.time 中的時間協助程式 - AWS AppSync

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

$util.time 中的時間協助程式

注意

我們現在主要支援 APPSYNC_JS 執行期及其文件。請考慮在此處使用 APPSYNC_JS 執行期及其指南

$util.time 變數包含日期時間方法,可協助產生時間戳記、在日期時間格式之間轉換,以及剖析日期時間字串。日期時間格式的語法是以您可以參考DateTimeFormatter的 為基礎,以取得進一步的文件。我們提供以下一些範例,以及可用方法和描述的清單。

時間 utils

$util.time.nowISO8601() : String

傳回 UTC ISO8601 格式的字串表示法。

$util.time.nowEpochSeconds() : long

傳回從 1970-01-01T00:00:00Z 的 epoch 到現在的秒數。

$util.time.nowEpochMilliSeconds() : long

傳回從 1970-01-01T00:00:00Z 的 epoch 到現在的毫秒數。

$util.time.nowFormatted(String) : String

UTC 使用字串輸入類型的指定格式,傳回 中目前時間戳記的字串。

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

使用字串輸入類型的指定格式和時區,傳回時區目前時間戳記的字串。

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

剖析以字串形式傳遞的時間戳記以及格式,然後將時間戳記傳回為自 epoch 以來的毫秒數。

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

剖析以字串形式傳遞的時間戳記,以及格式和時區,然後將時間戳記傳回為自 epoch 以來的毫秒數。

$util.time.parseISO8601ToEpochMilliSeconds(String) : Long

剖析以字串形式傳遞的 ISO8601 時間戳記,然後將時間戳記傳回為自 epoch 以來的毫秒數。

$util.time.epochMilliSecondsToSeconds(long) : long

將 epoch 毫秒時間戳記轉換為 epoch 秒時間戳記。

$util.time.epochMilliSecondsToISO8601(long) : String

將 epoch 毫秒時間戳記轉換為 ISO8601 時間戳記。

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

將 epoch 毫秒時間戳記轉換為根據 中提供的格式格式化的時間戳記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

具有 AWS 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