DateFormat関数でm-dやm/dのような月日を指定するとエラーが発生する

ColdFusion 2018 Update 3より、5/7や5-7のような m/d または m-d の日付の指定を行うと、エラーが発生するようになりました。

例:
#DateFormat('05-07','mm-dd')#

エラーメッセージ:
The value of parameter 1, which is currently 04-10, must be a class java.util.Date value.

 

開発元より、動作の変更は既知の不具合の修正によるもので、これはColdFusion 2018 Update 3で予想される動作とのことです。それに伴い、オンラインマニュアル(英語)にも追記されました。

https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-c-d/DateFormat.html

【抜粋】
ColdFusion (2018 release) Update 3. ColdFusion (2016 release) Update 10, and ColdFusion 11 Update 18: Input formats "m/d" or "d/m", where masks m as month and d as date with valid month/day numerals are no more considered as valid date input. For example, see Example 2.

回避策としては、日付を指定する最初の引数に「年月日(y-m-d や y/m/d)」の形で指定するか、関数を使用して、日付オブジェクトに変換する処理を追記してください

例:
#DateFormat(ParseDateTime('05/07','mm/dd'),"mm-dd")#


記事公開日:2019年05月07日
最終更新日:2019年05月07日


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.