

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# \$1util.time の日時ヘルパー
<a name="time-helpers-in-util-time"></a>

**注記**  
現在、主に APPSYNC\$1JS ランタイムとそのドキュメントをサポートしています。[こちら](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-js-version.html)にある APPSYNC\$1JS ランタイムとそのガイドの使用をご検討ください。

`$util.time` 変数には、タイムスタンプの生成、日時形式間の変換、および日時文字列の解析に役立つ日時メソッドが含まれています。日時形式の構文は Java の DateTimeFormatter に基づいています。詳細については、[DateTimeFormatter](https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html) を参照してください。いくつかの例、および利用可能なメソッドの一覧と説明を以下に示します。

## 日時 utils
<a name="utility-helpers-in-time"></a>

### 日時 utils リスト
<a name="utility-helpers-in-time-list"></a>

** `$util.time.nowISO8601() : String` **  
[ISO 8601 形式](https://en.wikipedia.org/wiki/ISO_8601)の UTC の文字列型表現を返します。

** `$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` **  
文字列として、タイムゾーンを含む形式で渡されたタイムスタンプを解析し、エポックからのミリ秒単位のタイムスタンプを返します。

** `$util.time.parseFormattedToEpochMilliSeconds(String, String, String) : Long` **  
文字列型として渡されたタイムスタンプ、形式、およびタイムゾーンを解析し、エポックからのミリ秒単位のタイムスタンプを返します。

** `$util.time.parseISO8601ToEpochMilliSeconds(String) : Long` **  
文字列型として渡された ISO8601 形式のタイムスタンプを解析し、エポックからのミリ秒単位のタイムスタンプを返します。

** `$util.time.epochMilliSecondsToSeconds(long) : long` **  
エポックからのミリ秒単位のタイムスタンプを、エポックからの秒単位のタイムスタンプに変換します。

** `$util.time.epochMilliSecondsToISO8601(long) : String` **  
エポックからのミリ秒単位のタイムスタンプを、ISO8601 形式のタイムスタンプに変換します。

** `$util.time.epochMilliSecondsToFormatted(long, String) : String` **  
long として渡されたエポックからのミリ秒単位のタイムスタンプを、文字列型で指定された形式に合わせて UTC でのタイムスタンプに変換します。

** `$util.time.epochMilliSecondsToFormatted(long, String, String) : String` **  
long として渡されたエポックからのミリ秒単位のタイムスタンプを、文字列型で指定された形式とタイムゾーンに合わせて、そのタイムゾーンでのタイムスタンプに変換します。

## スタンドアロン関数の例
<a name="standalone-function-examples"></a>

```
$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
```

## 変換の例
<a name="conversion-examples"></a>

```
#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
```

## 解析の例
<a name="parsing-examples"></a>

```
$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 定義されたスカラーの使用
<a name="usage-with-aws-scalars"></a>

次の形式は、`AWSDate`、`AWSDateTime`、および `AWSTime` と互換性があります。

```
$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
```