---
title: 日付属性
description: 日付属性はイベントのタイムスタンプを保存します。
url: https://docs.tealium.com/ja/server-side/attributes/data-types/date/
---
## 仕組み

重要なタイムスタンプ、例えば `First Purchase Date`、`Last Checkout Date`、または `Last Visit Date` を保存するために日付属性を使用します。

日付属性はイベント、訪問、および訪問のスコープで利用可能です。

![](https://docs.tealium.com/images/server-side/attribute-scopes-table-all.png)

## 日付フォーマッター

文字列属性を日付に変換するには、日付フォーマッターを使用します。日付フォーマットパネルから文字列値に一致するタイムスタンプコンポーネントを選択します。例えば、`01/31/2020` のような文字列値は `MM/dd/yyyy` の形式を使用して日付に変換できます。

日付と時間の文字列パターン：

| 記号 | 説明                       | 例の値         |
|--------|-----------------------------------|------------------------|
| G      | 時代指定子                    | BC, AD                 |
| y      | 年 (2桁または4桁)              | 12, 2012 (`yy` または `yyyy` を使用) |
| M      | 年の中の月 (Mの数によって長さが異なる) | MM, MMM, MMMMM      |
| d      | 月の中の日 (dの数によって長さが異なる)  | d, dd    |
| h      | 午前/午後の時間, 1-12              | hh        |
| H      | 1日の時間, 0-23                      | HH        |
| m      | 時間の中の分, 0-59                   | mm        |
| s      | 分の中の秒, 0-59                 | ss        |
| S      | 秒の中のミリ秒, 0-999           | SSS       |
| a      | 午前/午後マーカー                           | AM, PM    |
| z      | タイムゾーン                              | PST, EST  |
| Z      | RFC 822 タイムゾーン                      | -0800, +0530   |
| '      | テキスト区切りのエスケープ    |         |
| '      | シングルクォート                 |         |

詳細については、[Oracle: SimpleDateFormat Java Class](https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html)を参照してください。


<blockquote>
文字列に `T` が含まれている場合は、式の `T` の前後にシングルクォートを含めてください。例えば、`2024-08-22T10:24:58.905` の文字列は `yyyy-MM-dd'T'HH:mm:ss.SSS` の式を使用します。クォートを省略すると、例えば `yyyy-MM-ddTHH:mm:ss.SSS` を使用すると、解析エラーが発生します。
</blockquote>


### 文字列属性として日付値を収集する

イベント属性として日付値を文字列で収集し、それを日付訪問属性に変換するエンリッチメントを使用することがベストプラクティスです。このアプローチは、不正確なフォーマットによって引き起こされるエラーのリスクを最小限に抑え、下流のデータベースシステムでのデータ収集および処理の中断を防ぎます。文字列としてインポートすることで、特に多様な日付フォーマットを扱う場合に、柔軟性とデータの整合性が向上します。

#### 例

サインアップ日を文字列としてキャプチャし、日付属性をエンリッチするために、次の手順を使用します：

1. `"2023-10-15"` のような文字列として `Signup Date` イベント属性を作成します。
1. 日付として `Signup Date` 訪問属性を作成します。
1. 訪問属性の文字列を日付属性に変換するために、[Set Date enrichment](#set-date) を使用します。フォーマットは `yyyy-MM-dd` を使用します。

### サイズ制限

各日付属性のサイズは次の範囲に制限されます：

* 最小: `-292275055-05-16T16:47:04.192Z`
* 最大: `+292278994-08-17T07:12:55.807Z`

これらの属性は、暗号化および圧縮後のプロファイルの最大サイズ（400 KB）によっても制限されます。

## エンリッチメント

### 日付のキャプチャ

**Capture Date** エンリッチメントは、イベント条件の時点での現在のタイムスタンプに属性を構成します。このエンリッチメントはイベント、訪問、および訪問属性で利用可能です。

例えば、最後の購入日をキャプチャするには、購入イベントを特定するルールでこのエンリッチメントを使用します。

**属性名:** 最後の購入日

* **開始値**: `""`
* **エンリッチされた値**:
* **結果の値**: `1491233145706`

### 日付の構成

**Set date** エンリッチメントは、他の属性の値に属性を構成します。他の属性が文字列の場合は、[Date Formatter](#date-formatter) を使用して日付に変換します。このエンリッチメントはイベント、訪問、および訪問属性で利用可能です。

**属性名**: 最後の購入日

* **開始値**: `""`
* **文字列でエンリッチされた**: `01/04/2019`
* **使用するフォーマット**: `dd/MM/yyyy` (このフォーマットは、文字列を解析するための日、月、年の順序を指定します。)

**Set Date** エンリッチメントを使用して、他の日付属性（EventStreamまたはAudienceStream）からEventStreamの日付を構成する場合、フォーマット文字列のプレースホルダーを使用できます。例えば、**Set Date** エンリッチメントで次のように構成します：
* **構成する日付**: 値を構成したい日付属性。この例では、`date_of_birth`。
* **日付フォーマットで**: 任意のプレースホルダーを入力します。例えば、`x`。

![](https://docs.tealium.com/images/server-side/attributes/set_date_enrichment_example.png)

### 日付の削除

**Remove date** エンリッチメントは、日付属性の値を消去します。このエンリッチメントはイベント、訪問、および訪問属性で利用可能です。

**属性名**: 最後の訪問日

* **開始値**: `1491233145706`
* **結果の値**: (削除された)

### 日付形式からの変換

**Convert from date format** エンリッチメントは、受信値の予想される日付形式に基づいて値を構成します。このエンリッチメントは、CollectタグまたはHTTP APIから送信された文字列値を変換するために使用されます。[Date Formatter](#date-formatter) を使用して文字列値を日付に変換します。このエンリッチメントはイベント属性で利用可能です。