日付形式と日付リテラル
dateTime 項目の値は協定世界時 (UTC) で保存されます。dateTime の値が Salesforce で返されるときに、組織の設定で指定したタイムゾーンに調整されます。ただし、SOQL クエリは dateTime 項目の値を UTC 値で返します。これらの値をさまざまなタイムゾーンで処理するには、アプリケーションによる変換処理が必要になる場合があります。
日付形式
fieldExpression では、date 項目と dateTime 項目にさまざまな日付形式が使用されます。クエリで dateTime 形式を指定する場合、dateTime 項目のみで絞り込みを行うことができます。同様に、クエリで日付形式の値を指定する場合、date 項目のみで絞り込みを行うことができます。
| 表示形式 | 形式の構文 | 例 |
|---|---|---|
| 日付のみ | YYYY-MM-DD | 1999-01-01 |
| 日付、時間、タイムゾーンのオフセット |
|
|
ゾーンのオフセットは必ず UTC を基準とします。詳細は、以下を参照してください。
日付リテラル
fieldExpression では、日付リテラルを使用して、値の範囲を date 項目または dateTime 項目の値と比較できます。各リテラルは、午前 0 時 (00:00:00) から始まる時間の範囲です。範囲内の値を見つけるには、= を使用します。範囲の一方の側の値を見つけるには、> または < を使用します。使用可能な日付リテラル、範囲、および例を次の表に示します。
| 日付リテラル | 範囲 | 例 |
|---|---|---|
| YESTERDAY | 前日の 00:00:00 から、その 24 時間後までが指定されます。 | SELECT Id FROM Account WHERE CreatedDate = YESTERDAY |
| TODAY | 本日の 00:00:00 から、その 24 時間後までが指定されます。 | SELECT Id FROM Account WHERE CreatedDate > TODAY |
| TOMORROW | 翌日の 00:00:00 から、その 24 時間後までが指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate = TOMORROW |
| LAST_WEEK | 前週の最初の日の 00:00:00 から、その 7 日後までが指定されます。ロケールによって、週の開始曜日が決まります。 | SELECT Id FROM Account WHERE CreatedDate > LAST_WEEK |
| THIS_WEEK | 今週の最初の日の 00:00:00 から、その 7 日後までが指定されます。ロケールによって、週の開始曜日が決まります。 | SELECT Id FROM Account WHERE CreatedDate < THIS_WEEK |
| NEXT_WEEK | 翌週の最初の日の 00:00:00 から、その 7 日後までが指定されます。ロケールによって、週の開始曜日が決まります。 | SELECT Id FROM Opportunity WHERE CloseDate = NEXT_WEEK |
| LAST_MONTH | 前月の最初の日の 00:00:00 から、その月のすべての日が指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate > LAST_MONTH |
| THIS_MONTH | 今月の最初の日の 00:00:00 から、その月のすべての日が指定されます。 | SELECT Id FROM Account WHERE CreatedDate < THIS_MONTH |
| NEXT_MONTH | 翌月の最初の日の 00:00:00 から、その月のすべての日が指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate = NEXT_MONTH |
| LAST_90_DAYS | 本日の 00:00:00 から、その 90 日前までが指定されます。 | SELECT Id FROM Account WHERE CreatedDate = LAST_90_DAYS |
| NEXT_90_DAYS | 本日の 00:00:00 から、その 90 日後までが指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate > NEXT_90_DAYS |
| LAST_N_DAYS:n | 数値 n が指定されている場合、本日の 00:00:00 から、その n 日前までが指定されます。 | SELECT Id FROM Account WHERE CreatedDate = LAST_N_DAYS:365 |
| NEXT_N_DAYS:n | 数値 n が指定されている場合、本日の 00:00:00 から、その n 日後までが指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate > NEXT_N_DAYS:15 |
| NEXT_N_WEEKS:n | 数値 n が指定されている場合、翌週の最初の日の 00:00:00 から、その n 週後までが指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate > NEXT_N_WEEKS:4 |
| LAST_N_WEEKS:n | 数値 n が指定されている場合、前週の最後の日の 00:00:00 から、その n 週前までが指定されます。 | SELECT Id FROM Account WHERE CreatedDate = LAST_N_WEEKS:52 |
| NEXT_N_MONTHS:n | 数値 n が指定されている場合、翌月の最初の日の 00:00:00 から、その n 月後までが指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate > NEXT_N_MONTHS:2 |
| LAST_N_MONTHS:n | 数値 n が指定されている場合、前月の最後の日の 00:00:00 から、その n 月前までが指定されます。 | SELECT Id FROM Account WHERE CreatedDate = LAST_N_MONTHS:12 |
| THIS_QUARTER | 今四半期の最初の日の 00:00:00 から、今四半期の終わりまでが指定されます。 | SELECT Id FROM Account WHERE CreatedDate = THIS_QUARTER |
| LAST_QUARTER | 前四半期の 00:00:00 から、その四半期の終わりまでが指定されます。 | SELECT Id FROM Account WHERE CreatedDate > LAST_QUARTER |
| NEXT_QUARTER | 翌四半期の 00:00:00 から、その四半期の終わりまでが指定されます。 | SELECT Id FROM Account WHERE CreatedDate < NEXT_QUARTER |
| NEXT_N_QUARTERS:n | 翌四半期の 00:00:00 から、n 期後の四半期の終わりまでが指定されます。 | SELECT Id FROM Account WHERE CreatedDate < NEXT_N_QUARTERS:2 |
| LAST_N_QUARTERS:n | n 期前の四半期の最初の日の 00:00:00 から、前四半期の最終日の終わりまでが指定されます。 | SELECT Id FROM Account WHERE CreatedDate > LAST_N_QUARTERS:2 |
| THIS_YEAR | 今年の 1 月 1 日 00:00:00 から、今年の 12 月 31 日の終わりまでが指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate = THIS_YEAR |
| LAST_YEAR | 前年の 1 月 1 日 00:00:00 から、その年の 12 月 31 日の終わりまでが指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate > LAST_YEAR |
| NEXT_YEAR | 翌年の 1 月 1 日 00:00:00 から、その年の 12 月 31 日の終わりまでが指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate < NEXT_YEAR |
| NEXT_N_YEARS:n | 翌年の 1 月 1 日 00:00:00 から、n 年後の 12 月 31 日の終わりまでが指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate < NEXT_N_YEARS:5 |
| LAST_N_YEARS:n | n 年前の 1 月 1 日 00:00:00 から、前年の 12 月 31 日の終わりまでが指定されます。 | SELECT Id FROM Opportunity WHERE CloseDate > LAST_N_YEARS:5 |
| THIS_FISCAL_QUARTER | 現在の会計四半期の最初の日の 00:00:00 から、その会計四半期の最終日の終わりまでが指定されます。会計年度は、[設定] の [会計年度] ページで定義されます。 | SELECT Id FROM Account WHERE CreatedDate = THIS_FISCAL_QUARTER |
| LAST_FISCAL_QUARTER | 前会計四半期の最初の日の 00:00:00 から、その会計四半期の最終日の終わりまでが指定されます。会計年度は、[設定] の [会計年度] ページで定義されます。 | SELECT Id FROM Account WHERE CreatedDate > LAST_FISCAL_QUARTER |
| NEXT_FISCAL_QUARTER | 翌会計四半期の最初の日の 00:00:00 から、その会計四半期の最終日の終わりまでが指定されます。会計年度は、[設定] の [会計年度] ページで定義されます。 | SELECT Id FROM Account WHERE CreatedDate < NEXT_FISCAL_QUARTER |
| NEXT_N_FISCAL_QUARTERS:n | 翌会計四半期の最初の日の 00:00:00 から、n 期後の会計四半期の最終日の終わりまでが指定されます。会計年度は、[設定] の [会計年度] ページで定義されます。 | SELECT Id FROM Account WHERE CreatedDate < NEXT_N_FISCAL_QUARTERS:6 |
| LAST_N_FISCAL_QUARTERS:n | n 期前の会計四半期の最初の日の 00:00:00 から、前会計四半期の最終日の終わりまでが指定されます。会計年度は、[設定] の [会計年度] ページで定義されます。 | SELECT Id FROM Account WHERE CreatedDate > LAST_N_FISCAL_QUARTERS:6 |
| THIS_FISCAL_YEAR | 現在の会計年度の最初の日の 00:00:00 から、その会計年度の最終日の終わりまでが指定されます。会計年度は、[設定] の [会計年度] ページで定義されます。 | SELECT Id FROM Opportunity WHERE CloseDate = THIS_FISCAL_YEAR |
| LAST_FISCAL_YEAR | 前会計年度の最初の日の 00:00:00 から、その会計年度の最終日の終わりまでが指定されます。会計年度は、[設定] の [会計年度] ページで定義されます。 | SELECT Id FROM Opportunity WHERE CloseDate > LAST_FISCAL_YEAR |
| NEXT_FISCAL_YEAR | 翌会計年度の最初の日の 00:00:00 から、その会計年度の最終日の終わりまでが指定されます。会計年度は、[設定] の [会計年度] ページで定義されます。 | SELECT Id FROM Opportunity WHERE CloseDate < NEXT_FISCAL_YEAR |
| NEXT_N_FISCAL_YEARS:n | 翌会計年度の最初の日の 00:00:00 から、n 年後の会計年度の最終日の終わりまでが指定されます。会計年度は、[設定] の [会計年度] ページで定義されます。 | SELECT Id FROM Opportunity WHERE CloseDate < NEXT_N_FISCAL_YEARS:3 |
| LAST_N_FISCAL_YEARS:n | n 年前の会計年度の最初の日の 00:00:00 から、前会計年度の最終日の終わりまでが指定されます。会計年度は、[設定] の [会計年度] ページで定義されます。 | SELECT Id FROM Opportunity WHERE CloseDate > LAST_N_FISCAL_YEARS:3 |
日付の最小値と最大値
特定の範囲内の日付のみが有効です。最も早い有効な日付は 1700-01-01T00:00:00Z GMT、つまり、1700 年 1 月 1 日の午前 0 時です。最も遅い有効な日付は 4000-12-31T00:00:00Z GMT、つまり、4000 年 12 月 31 日の午前 0 時です。これらの値は、タイムゾーンごとのオフセットとなります。たとえば、太平洋タイムゾーンでは、最も早い有効な日付は 1699-12-31T16:00:00、つまり 1699 年 12 月 31 日の午後 4 時です。