説明
米国の日付書式を使用して日付値を形式設定します。国際的な日付書式を使用する場合は、LSDateFormat を使用してください。
戻り値
指定したマスクに応じて形式設定された、日付を表す文字列。マスクを指定しないと、dd-mmm-yy の形式の値が返されます。
カテゴリ
関数のシンタックス
DateFormat(date [, mask])
関連項目
Now、CreateDate、LSDateFormat、LSParseDateTime、LSTimeFormat、ParseDateTime
履歴
ColdFusion(2021 リリース)アップデート 1:この関数のマスクに関する問題を修正しました。詳しくは、バグを参照してください。アップデート 1 に更新することをお勧めします。
ColdFusion(2021 リリース):JVM フラグ -Dcoldfusion.datemask.useDasdayofmonth が追加されました。デフォルト値は false ですが、これを true に設定すると、マスクに D(大文字の D)が含まれている場合、マスクは値を d(小文字の d)として扱います(小文字の d はその月の何日であるかを示します)。そのため、このフラグが true に設定されている場合、dateformat(now(), "mm-D-yyyy") は dateformat(now(), "mm-d-yyyy") と同じになります。デフォルトでは、大文字の D は、その年の何日目であるかを指定するために使用されます。後述の例を参照してください。
ColdFusion(2018 リリース)アップデート 3、ColdFusion(2016 リリース)アップデート 10、ColdFusion 11 アップデート 18:入力形式 "m/d" または "d/m"(マスク m は有効な月、d は有効な日を示す)は有効な日付入力形式とは見なされなくなりました。例えば、例 2 を参照してください。
ColdFusion(2016 リリース)アップデート 3:次の変更が含まれています。
- マスク文字として小文字と大文字の両方を使用できるようになりました。
- 次のマスクが追加されました。
- e/E:曜日。
- f/F:その曜日がその月の何番目であるか。
- k/K:何時であるか(1~24)。
- w:その年の何週目であるかを表す数字 (先頭に 0 を付けない) 。
- ww :その年の何週目であるかを表す数字。1 桁の場合は 先頭にゼロを付ける 。
ColdFusion MX:mask パラメーターオプションの short、medium、long および full がサポートされるようになりました。
パラメーター
パラメーター |
説明 |
---|---|
date |
日付時刻オブジェクトです。値の範囲は西暦 100 ~ 9999 年です。 |
mask |
ColdFusion で日付表示に使用される文字です。
|
使用方法
日付時刻オブジェクトを文字列として渡すときは、そのオブジェクトを引用符で囲みます。引用符で囲まない場合、そのオブジェクトは日付時刻オブジェクトの数値表示として解釈されます。
日付および時刻の形式を設定する関数を使用しないと、データベースクエリの結果の日付時刻値は、その順序と形式がばらばらになる可能性があります。表示された日付および時刻をアプリケーションのユーザーが正しく理解できるようにするために、この関数と、LSDateFormat および LSTimeFormat 関数を使用して、結果セットの値を形式設定することをお勧めします。
DateFormat 関数は、入力形式ではなく出力形式を設定する場合に適した関数です。入力形式を設定する場合は、日付時刻の作成関数(CreateDate など)を使用してください。 |
例 1
<cfscript> Date1 = "{ts '2018-11-15 12:13:50'}"; dateformat= DateFormat(Date1) dateformat1= DateFormat(Date1,"e") dateformat2= DateFormat(Date1,"f") dateformat3= DateFormat(Date1,"k") dateformat4= DateFormat(Date1,"w") dateformat5= DateFormat(Date1,"ww") writeOutput("date is : " & dateformat & "<br/>") writeOutput("day in a week is : " & dateformat1 & "<br/>") writeOutput("day of a week in a month : " & dateformat2 & "<br/>") writeOutput("hour in a day: " & dateformat3 & "<br/>") writeOutput("week of the year as a digit: " & dateformat4 & "<br/>") writeOutput("Week of the year as digits.Leading zero for single-digit week.: " & dateformat5 & "<br/>") </cfscript>
出力
date is : 15-Nov-18
day in a week is : Thu
day of a week in a month : 3
hour in a day: 12
week of the year as a digit: 46
Week of the year as digits.Leading zero for single-digit week.: 46
<cfscript> writeOutput("The date is: " & DateFormat('04/10/2019','mm-dd')) </cfscript>
上記のコードは想定どおりに動作し、次のような出力が得られます。
The date is: 04-10
ただし、次のコードでは、入力した日付が間違った形式なので、例外が発生します。
<cfscript> // This snippet throws an exception writeOutput("The date is: " & DateFormat('04/10','mm-dd')) </cfscript>
<cfscript> writeOutput(dateformat(now(), "mm-D-yyyy") & "<br/>") writeOutput(dateformat(now(), "mm-d-yyyy") & "<br/>") </cfscript>