DateFormat

説明

米国の日付書式を使用して日付値を形式設定します。国際的な日付書式を使用する場合は、LSDateFormat を使用してください。

戻り値

指定したマスクに応じて形式設定された、日付を表す文字列。マスクを指定しないと、dd-mmm-yy の形式の値が返されます。

カテゴリ

日付時刻関数

関数のシンタックス

DateFormat(date [, mask])

関連項目

NowCreateDateLSDateFormatLSParseDateTimeLSTimeFormatParseDateTime

履歴

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 で日付表示に使用される文字です。

  • d:数字で表した日です。1 桁の場合は先頭に 0 を付けません。
  • dd:数字で表した日です。1 桁の場合は先頭に 0 を付けます。
  • ddd :3 文字に短縮して表した曜日です。
  • dddd :つづりを短縮しないで表した曜日です。
  • eee /EEE:3 文字に短縮して表した曜日です。
  • eeee /EEEE:つづりを短縮しないで表した曜日です。 
  • f/F:その曜日がその月の何番目であるかを表します。
  • m:数字で表した月です。1 桁の場合は先頭に 0 を付けません。
  • mm:数字で表した月です。1 桁の場合は先頭に 0 を付けます。
  • mmm:3 文字に短縮して表した月です。
  • mmmm:つづりを短縮しないで表した月です。
  • M:何月であるかを表す 数字 です。
  • D:その年の何日目であるかを表す 数字 です。
  • k/K:何時であるかを表します。
  • w:その年の何週目であるかを表す数字 (先頭に 0 を付けない) です。
  • ww :その年の何週目であるかを表す数字。1 桁の場合は 先頭にゼロを付ける  。
  • W:その月の何週目であるかを表す数字 (先頭に 0 を付けない) です。
  • WW:その月の何週目であるかを表す数字です。1 桁の場合は 先頭にゼロを付ける  。
  • Y:その年を週数で表したもの。
  • YY:その年の週数を下 2 桁の数字で表したものです。1 桁の場合は先頭に 0 を付けます。
  • yy :その年の下 2 桁を表す数字です。1 桁の場合は先頭に 0 を付けます。
  • yyyy /YYYY:4 桁の数字で表した年です。
  • gg:時代および紀元を表す文字列です。無視されます。この値は予約されています。以下のマスクは、日付全体の形式設定を指定するものです。他のマスクと組み合わせることはできません。
  • short:m/d/y と同等です。
  • medium:mmm d, yyyy と同等です。
  • long:mmmm d, yyyy と同等です。
  • full: dddd , mmmm d, yyyy と同等です。
  • z:文字形式でのタイムゾーン(IST など)です。
  • Z:オフセット時間で表すタイムゾーン(RFC 822 TimeZone)。例:+0530
  • X:ISO 8601 形式のオフセット時間で表すタイムゾーン。以下に、'X' の 3 つの使用例を示します。
    •          X:+05
    •          XX:+0530
    •          XXX:+5:30

使用方法

日付時刻オブジェクトを文字列として渡すときは、そのオブジェクトを引用符で囲みます。引用符で囲まない場合、そのオブジェクトは日付時刻オブジェクトの数値表示として解釈されます。

日付および時刻の形式を設定する関数を使用しないと、データベースクエリの結果の日付時刻値は、その順序と形式がばらばらになる可能性があります。表示された日付および時刻をアプリケーションのユーザーが正しく理解できるようにするために、この関数と、LSDateFormat および LSTimeFormat 関数を使用して、結果セットの値を形式設定することをお勧めします。

DateFormat 関数は、入力形式ではなく出力形式を設定する場合に適した関数です。入力形式を設定する場合は、日付時刻の作成関数(CreateDate など)を使用してください。

例  1

<cfscript> Date1 = &quot;{ts &#39;2018-11-15 12:13:50&#39;}&quot;; dateformat= DateFormat(Date1) dateformat1= DateFormat(Date1,&quot;e&quot;) dateformat2= DateFormat(Date1,&quot;f&quot;) dateformat3= DateFormat(Date1,&quot;k&quot;) dateformat4= DateFormat(Date1,&quot;w&quot;) dateformat5= DateFormat(Date1,&quot;ww&quot;) writeOutput(&quot;date is : &quot; & dateformat & &quot;<br/>&quot;) writeOutput(&quot;day in a week is : &quot; & dateformat1 & &quot;<br/>&quot;) writeOutput(&quot;day of a week in a month : &quot; & dateformat2 & &quot;<br/>&quot;) writeOutput(&quot;hour in a day: &quot; & dateformat3 & &quot;<br/>&quot;) writeOutput(&quot;week of the year as a digit: &quot; & dateformat4 & &quot;<br/>&quot;) writeOutput(&quot;Week of the year as digits.Leading zero for single-digit week.: &quot; & dateformat5 & &quot;<br/>&quot;) </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

例 2

<cfscript> writeOutput(&quot;The date is: &quot; & DateFormat(&#39;04/10/2019&#39;,&#39;mm-dd&#39;)) </cfscript>

上記のコードは想定どおりに動作し、次のような出力が得られます。

The date is: 04-10

ただし、次のコードでは、入力した日付が間違った形式なので、例外が発生します。

<cfscript> // This snippet throws an exception writeOutput(&quot;The date is: &quot; & DateFormat(&#39;04/10&#39;,&#39;mm-dd&#39;)) </cfscript>

coldfusion.datemask.useDasdayofmonth

上記のフラグを D に設定した場合、次のスニペットでは、マスクを d に設定した場合と同じ出力が得られます。

<cfscript> writeOutput(dateformat(now(), &quot;mm-D-yyyy&quot;) & &quot;<br/>&quot;) writeOutput(dateformat(now(), &quot;mm-d-yyyy&quot;) & &quot;<br/>&quot;) </cfscript>