適用対象
日付/時刻の参照ガイド
Who can use this?
Plans:
- Bridge by Smartsheet
日付/時刻オブジェクト
この記事は、ほとんどの「Date/Time (日付/時刻)」モジュールによって返されるデータについて説明します。
この JSON 構造は、単一の時点を表すプロパティで構成されています。以下は構造の一例です。ほとんどのプロパティは説明不要ですが、以下の表で明確に説明しています。
プロパティ |
タイプ |
説明 |
---|---|---|
years |
数値 |
指定された日付の年を表す 4 桁の数字。 |
months |
数値 |
指定された日付の年の月を表します。1 月は 1 です。 |
date |
数値 |
指定された日付の月の日を表します。 |
hours |
数値 |
特定の日付または時刻の日の時間を表します。 |
minutes |
数値 |
特定の日付または時刻の時間の分を表します。 |
seconds |
数値 |
特定の日付または時刻の分の秒を表します。 |
milliseconds |
数値 |
特定の日付または時刻の秒のミリ秒を表します。 |
offset |
文字列 |
協定世界時 (UTC) からのオフセットを ±HH:mm 形式で表す文字列。 |
ISO |
文字列 |
日付/時刻を ISO-8601 標準書式で表す文字列。 例: YYYY-MM-DDTHH:mm:ssZ |
utc |
文字列 |
UTC の日付/時刻を ISO-8601 標準書式で表す文字列。 |
unix |
数値 |
日付/時刻の unix タイムスタンプを表す数値。 |
isValid |
ブール型 |
日付/時刻が有効かどうかを表すブール値。 |
日付/時刻オブジェクトが失敗した場合、無効な日付/時刻オブジェクトが返されます。
Example Invalid Date/Time Object
{
"isValid": false
}
期間オブジェクト
この記事は、「Compare Date/Time Module (日付/時刻の比較)」モジュールによって返されるデータについて説明します。
この JSON 構造は、2 つの時点の期間を表すプロパティで構成されています。以下は構造の一例です。ほとんどのプロパティは説明不要ですが、以下の表で明確に説明しています。
Example Duration Object
{
"years": 2,
"months": 2,
"days": 2,
"hours": 2,
"minutes": 2,
"seconds": 2,
"milliseconds": 0,
"iso": 'PT19058H2M2S',
"humanized": '2 years',
"isDuration": true,
"isValid": true,
"in": {
"years": 2,
"months": 26,
"weeks": 113,
"days": 794,
"hours": 19058,
"minutes": 1143482,
"seconds": 68608922,
"milliseconds": 68608922000
}
}
プロパティ |
タイプ |
説明 |
---|---|---|
years |
数値 |
2 つの日付の間の経過年数を表す整数。 |
months |
数値 |
2 つの日付の間の年数を計算した、経過月数を表す整数。 |
days |
数値 |
2 つの日付の間の月数と年数を計算した、経過日数を表す整数。 |
hours |
数値 |
2 つの日付の間の日数、月数、年数を計算した、経過時間数を表す整数。 |
minutes |
数値 |
2 つの日付の間の時間数、日数、月数、年数を計算した、経過分数を表す整数。 |
seconds |
数値 |
2 つの日付の間の分数、時間数、日数、月数、年数を計算した、経過秒数を表す整数。 |
milliseconds |
数値 |
2 つの日付の間の秒数、分数、時間数、日数、月数、年数を計算した、経過ミリ秒を表す整数。 |
ISO |
文字列 |
ISO-8601 標準書式で期間を表す文字列。 |
humanized |
文字列 |
時刻を人間が認識しやすい形式で表す文字列。「Format Date/Time Module (日付/時刻の書式設定)」モジュールと同様の応答で、相対書式を使用する。例:「2 年」 |
isDuration |
ブール型 |
期間オブジェクトかどうかを示すブール型の値。オブジェクトが有効な場合、これは常に「真」になります。 |
isValid |
ブール型 |
日付/時刻が有効かどうかを表すブール値。 |
in |
オブジェクト |
このオブジェクトの各値は、この表のプロパティに似ていますが、その他の時間単位はすべて無視されます。例: 2 つの日付の間が正確に 2 年であれば、24 か月になります。 |
入力を正しく解析できないなど、何らかの理由で日付/時刻オブジェクトが失敗した場合、無効な日付/時刻オブジェクトが返されます。これは以下のように表示されます。
Example Invalid Duration Object
{
"isValid": false
}
日付/時刻の書式設定トークン
日付/時刻の書式設定トークンを使用して、文字列内の日付の特定のセクションを表すことができます。これらのトークンを含む文字列には、トークン以外の文字を含めることもできます。たとえば、「1952 年 3 月 11 日」は「Do of MMMM, YYYY」と表すことができます。
トークン |
出力 |
|
---|---|---|
月 |
M |
1 2 ... 11 12 |
Mo |
1st 2nd ... 11th 12th |
|
MM |
01 02 ... 11 12 |
|
MMM |
Jan Feb ... Nov Dec |
|
MMMM |
January February ... November December |
|
四半期 |
Q |
1 2 3 4 |
Qo |
1st 2nd 3rd 4th |
|
月の日 |
D |
1 2 ... 30 31 |
Do |
1st 2nd ... 30th 31st |
|
DD |
01 02 ... 30 31 |
|
年の日 |
DDD |
1 2 ... 364 365 |
DDDo |
1st 2nd ... 364th 365th |
|
DDDD |
001 002 ... 364 365 |
|
曜日 |
d |
0 1 ... 5 6 |
do |
0th 1st ... 5th 6th |
|
dd |
Su Mo ... Fr Sa |
|
ddd |
Sun Mon ... Fri Sat |
|
dddd |
Sunday Monday ... Friday Saturday |
|
曜日 (言語 (国)) |
e |
0 1 ... 5 6 |
曜日 (ISO) |
E |
1 2 ... 6 7 |
年の週 |
w |
1 2 ... 52 53 |
wo |
1st 2nd ... 52nd 53rd |
|
ww |
01 02 ... 52 53 |
|
年の週 (ISO) |
W |
1 2 ... 52 53 |
Wo |
1st 2nd ... 52nd 53rd |
|
WW |
01 02 ... 52 53 |
|
年 |
YY |
70 71 ... 29 30 |
YYYY |
1970 1971 ... 2029 2030 |
|
Y |
1970 1971 ... 9999 +10000 +10001 注: 9999 年以降の日付は ISO 8601 規格に準拠しています。 |
|
週の年 |
gg |
70 71 ... 29 30 |
gggg |
1970 1971 ... 2029 2030 |
|
週の年 (ISO) |
GG |
70 71 ... 29 30 |
GGGG |
1970 1971 ... 2029 2030 |
|
AM/PM |
A |
AM PM |
a |
am pm |
|
時間 |
H |
0 1 ... 22 23 |
HH |
00 01 ... 22 23 |
|
h |
1 2 ... 11 12 |
|
hh |
01 02 ... 11 12 |
|
k |
1 2 ... 23 24 |
|
kk |
01 02 ... 23 24 |
|
分 |
m |
0 1 ... 58 59 |
mm |
00 01 ... 58 59 |
|
秒 |
s |
0 1 ... 58 59 |
ss |
00 01 ... 58 59 |
|
小数点以下の秒 |
S |
0 1 ... 8 9 |
SS |
00 01 ... 98 99 |
|
SSS |
000 001 ... 998 999 |
|
SSSS… SSSSSSSSS |
000[0..] 001[0..] ... 998[0..] 999[0..] |
|
タイム ゾーン |
z または zz |
EST CST ... MST PST |
Z |
-07:00 -06:00 ... +06:00 +07:00 |
|
ZZ |
-0700 -0600 ... +0600 +0700 |
|
Unix タイムスタンプ |
X |
1360013296 |
Unix ミリ秒タイムスタンプ |
x |
1360013296123 |
「日付/時刻の確認」モジュール
「Check Date/Time (日付/時刻の確認)」モジュールは、入力された日付を指定された条件に照らして確認し、それに応じてワークフローがルーティングされます。
これを使う簡単な方法は、日付/時刻オブジェクト全体を参照することです。
[Date/Time Fields (日付/時刻の確認)] フィールド
- 日付: 確認対象の必須入力項目。ISO-8601 書式の文字列、Unix タイムスタンプ、または別の「Date/Time (日付/時刻)」モジュールの構造化された日付/時刻オブジェクト出力を入力します。
- 条件: 入力された日付に対して確認する条件付きオペレーションを指定します。以下から選択できます。
- 曜日: 日付が選択した日のいずれかに一致した場合、ワークフローは「成功」パスにルーティングされます。
- 別の日付より前: 指定された参照日付より前、または同じ日付の場合、ワークフローは「成功」パスにルーティングされます。
- 別の日付より後: 指定された参照日付より後、または同じ日付の場合、ワークフローは「成功」パスにルーティングされます。
- 2 つの日付の間: 指定された 2 つの参照日付より前 (または同じ) と後 (または同じ) の日付である場合、ワークフローは「成功」パスにルーティングされます。
- うるう年: 日付がうるう年の場合、ワークフローは「成功」パスにルーティングされます。日付がうるう年に含まれていない場合や、日付に年が含まれていない場合 (月のみが入力または参照された場合など) は、ワークフローは「失敗」パスにルーティングされます。
参照日付
日付が参照日付の前、後、その間にあるかどうかを確認する場合は、この入力が必要です。「ISO-8601」書式の文字列、Unix タイムスタンプ、または別の「Date/Time (日付/時刻)」モジュールの構造化された日付/時刻オブジェクト出力を入力します。
包括的な参照日付
参照日付を使用する場合、その日付は既定では除外されます (例: 参照日付よりも前であり、同じではない)。このパラメータを「真」に設定すると、包括的な参照日付に基づいて条件が計算されます (例: 参照日付よりも前または同じ)。
「日付/時刻の比較」モジュール
「Compare Date/Time (日付/時刻の比較)」モジュールでは、2 つの日付/時刻オブジェクトを比較して、両者の絶対差を算出します。
[Compare Date/Time (日付/時刻の比較)] フィールド
- 最初の日付: 比較する必須入力の日付。ISO-8601 書式の文字列、Unix タイムスタンプ、または別の「日付/時刻」モジュールの構造化された日付/時刻オブジェクト出力を入力します。
- 2 番目の日付: 比較する必須入力の日付。ISO-8601 書式の文字列、Unix タイムスタンプ、または別の「日付/時刻」モジュールの構造化された日付/時刻オブジェクト出力を入力します。
- 終了日を含める: 選択した場合、2 番目の入力日が計算に含まれます。例: 月曜日から金曜日は 4 日間ではなく、5 日間となります。
「日付/時刻の比較」の返し
モジュールが成功した場合、構造化された期間オブジェクトを返します。
「現在の日付/時刻」モジュール
「現在の日付/時刻」モジュールは、現在の時点を、操作や書式設定が可能な構造化された日付/時刻オブジェクトとして返します。
[Current Date/Time (現在の日付/時刻)] フィールド
- オフセット: 入力に対する UTC オフセットの定義方法。-12:00 時間から +12:00 時間までの時間単位のオフセットを設定することも、次のオプションを使用して UTC オフセットをより詳細に制御することもできます。
- なし: 入力はそのまま解析されます。入力文字列でオフセットが定義されていない場合、オフセットは適用されません。オフセットを含む文字列を解析する場合 (たとえば ISO-8601 書式の文字列など)、文字列のオフセットと同じオフセットが設定されます。たとえば、2017-07-02T21:30:00-07:00 の場合、オフセットは -07:00 時間となります。
- タイムゾーン オフセット: UTC オフセットを計算するタイムゾーンを選択します。この計算では、特定のタイム ゾーンで特定の日付に発生する可能性のあるサマータイムが考慮されます。
- 緯度/経度オフセット: コンマ (,) で区切られた緯度と経度の文字列で場所を指定します。サマータイムはオフセットの計算に含まれます。たとえば、47.650499,-122.350070 はアメリカ/ロサンゼルスとなり、冬は -08:00、夏は -07:00 と計算されます。
- カスタム オフセット: カスタム オフセットを ±HH:mm 形式で定義します。例: プラス 8 時間半: +08:30
現在の「Date/Time (日付/時刻)」で返されるデータ
入力文字列が正常に解析された場合、モジュールは構造化された日付/時刻オブジェクトを返します。
「日付/時刻の書式設定」モジュール
「Format Date/Time Module (日付/時刻の書式設定)」モジュールは、構造化された日付/時刻オブジェクトをユーザー定義の文字列に書式設定します。
[Format Date/Time (日付/時刻の書式設定)] フィールド
- 日付: 文字列に書式設定される必須入力項目。ISO-8601 書式の文字列、Unix タイムスタンプ、または別の「Date/Time (日付/時刻)」モジュールの構造化された日付/時刻オブジェクト出力を入力します。
- 書式: 返される出力の書式。一般的なオプションのいずれかを選択する、日付/時刻トークンを使用してカスタム書式を作成する、または別の日付/時刻オブジェクトを指定して相対的な書式とします。
「Format Date/Time (日付/時刻の書式設定)」で返されるデータ
以下の各書式は、1952 年 3 月 11 日午前 8 時 15 分の例を表します。
ISO 8601
標準の ISO-8601 日付時刻書式 (YYYY-MM-DDTHH:mm:ssZ) – 1952-03-11T08:15:00+00:00 で出力
YYYY-MM-DD
1952-03-11
MM/DD/YYYY
03/11/1952
DD/MM/YYYY
11/03/1952
MM/DD
03/11
DD/MM
11/03
HH:mm
08:15
HH:mm:ss
08:15:00
カスタマイズされた書式
日付/時刻書式トークンを使用して、カスタム書式の文字列を作成します。トークン以外の文字でも文字列を作成できます。例: Do of MMMM, YYYY – 11th of March, 1952
相対的な書式
別の日付/時刻オブジェクトを提供して、相対的に入力を書式設定します。時間の単位は変更の最大単位に切り捨てられます。例: 「ISO-8601」標準日付/時刻文字列 1952-03-13T09:15:00+00:00 を入力すると、「2 日間と 23 時間前」ではなく「2 日前」と出力されます。これは分かりやすい書式を取得する簡単な方法です。詳しくは、「Compare Date/Time (日付/時刻の比較)」モジュールと、結果として得られる期間オブジェクトをご確認ください。
「日付/時刻の操作」モジュール
「Manipulate Date/Time (日付/時刻の操作)」モジュールを使用すると、時間単位を追加、削除、または設定することで、構造化された日付/時刻オブジェクトを操作できます。
[Manipulate Date/Time (日付/時刻の操作)] フィールド
- 操作: 時間単位の加算、減算、または設定を選択することで、入力した日付を操作します。
- 加算: 時間単位を加算して、入力した日付を操作します。
- 減算: 時間単位を減算して、入力した日付を操作します。
- 設定: 時間単位を設定して、入力した日付を操作します。
- 日付: 操作される必須入力の日付。ISO-8601 書式の文字列、Unix タイムスタンプ、または別の「Date/Time (日付/時刻)」モジュールの構造化された日付/時刻オブジェクト出力を入力します。
- 年数: 入力した日付に対し、加算または減算する年数。操作を使用する場合は、「設定」を選択し、年 (1952 など) を設定します。
- 月数: 入力した日付に対し、加算または減算する月数。操作を使用する場合は、「設定」を選択し、月 (1 ~ 12) を設定します。
- 日数: 入力した日付に対し、加算または減算する日数。操作を使用する場合は、「設定」を選択し、その月の日を設定します。
- 時間数: 入力した日付に対し、加算または減算する時間数。操作を使用する場合は、「設定」を選択し、時間 (0 ~ 23) を設定します。
- 分数: 入力した日付に対し、加算または減算する分数。操作を使用する場合は、「設定」を選択し、分 (0 ~ 59) を設定します。
- 秒数: 入力した日付に対し、加算または減算する秒数。操作を使用する場合は、「設定」を選択し、秒 (0 ~ 59) を設定します。
- 期間: 時間単位の加算や減算だけでなく、期間の加算や減算も可能です。これは標準の ISO-8601 期間文字列または「Compare Date/Time (日付/時刻の比較)」モジュールの出力からの期間オブジェクトとして表示されます。
「日付/時刻の操作」の返し
入力文字列が正常に解析された場合、モジュールは構造化された日付/時刻オブジェクトを返します。
「日付/時刻の解析」モジュール
「Parse Date/Time (日付/時刻の解析)」モジュールは、日付を解析して、操作や書式設定が可能な構造化された日付/時刻オブジェクトにします。
読みやすい日付と合わせて、このモジュールは ISO-8601 標準文字列、RFC 2822 標準文字列、Unix タイムスタンプ、または別の「Parse Date/Time (日付/時刻の解析)」モジュールの出力を解析することができます。入力が無効な場合は、無効な日付/時刻オブジェクトが返されます。
[Parse Date/Time (日付/時刻の解析)] フィールド
- Date (日付): 構造化された日付/時刻オブジェクトに解析される必須の入力。読みやすい任意の文字列の ISO-8601、RFC 2822、Unix タイムスタンプ、または別の「Parse Date/Time (日付/時刻の解析)」モジュールの出力を入力することができます。
- Locale (言語 (国)): 入力の言語 (国) を指定するためのオプションです。言語 (国) は、一般的なパターンが異なる場合に使用されます。たとえば、2017 年 4 月 5 日は、米国の言語では 04/05/2017 となり、英国の言語では 05/04/2017 となります。これらのパターンは非常に区別が難しいため、ニーズに合った適切な言語 (国) を指定することを推奨します。既定は米国形式 (英語) です。
- UTC オフセット: 入力に対する UTC オフセットの定義方法。-12:00 時間から +12:00 時間までの時間単位のオフセットを設定することも、次のオプションを使用して UTC オフセットをより詳細に制御することもできます。
- なし: 入力はそのまま解析されます。入力文字列でオフセットが定義されていない場合、オフセットは適用されません。オフセットを含む文字列を解析する場合 (たとえば「ISO-8601」書式設定の文字列など)、文字列のオフセットと同じオフセットが設定されます。たとえば、2017-07-02T21:30:00-07:00 の場合、オフセットは -07:00 時間となります。
- タイムゾーン オフセット: UTC オフセットを計算するタイムゾーンを選択します。この計算では、特定のタイム ゾーンで特定の日付に発生する可能性のあるサマータイムが考慮されます。
- 緯度/経度オフセット: コンマ (,) で区切られた緯度と経度の文字列で場所を指定します。サマータイムはオフセットの計算に含まれます。たとえば、47.650499,-122.350070 はアメリカ/ロサンゼルスとなり、冬は -08:00、夏は -07:00 と計算されます。
- カスタム オフセット: カスタム オフセットを ±HH:mm 形式で定義します。例: プラス 8 時間半: +08:30
「日付/時刻の解析」の返し
入力文字列が正常に解析された場合、モジュールは構造化された日付/時刻オブジェクトを返します。
「日付/時刻の端数処理」モジュール
「Round Date/Time (日付/時刻の端数処理)」モジュールは、特定の構造化された日付/時刻オブジェクトの、指定された時間単位の開始時刻または終了時刻を返します。
[Round Date/Time (日付/時刻の端数処理)] フィールド
- 開始/終了: 指定した時間単位の開始時刻または終了時刻に入力を端数処理します。
- 開始: 時間単位の開始時刻に切り捨てます。例: 午前 8 時 15 分は午前 8 時 00 分になります
- 終了: 時間単位の終了時刻に切り上げます。例: 午前 8 時 15 分は午前 8 時 59 分になります
- 日付: 指定の単位に端数処理する必須入力項目。ISO-8601 書式の文字列、Unix タイムスタンプ、または別の「Date/Time (日付/時刻)」モジュールの構造化された日付/時刻オブジェクト出力を入力します。
- 時間単位: 端数処理する基準の時間単位。以下から選択できます。
- 年
- 四半期
- 月
- 週
- 日
- 時間
- 分
週の最初の曜日
週の最初の曜日は、世界各地で異なる場合があるため、選択した時間単位が週の場合は、週の開始と見なされる日を設定できます。
「日付/時刻の端数処理」の返し
入力文字列が正常に解析された場合、モジュールは構造化された日付/時刻オブジェクトを返します。