如何识别日期字符串与日期对象

use*_*775 4 coldfusion coldfusion-10

在CF10中,如何识别对象是日期字符串还是日期对象?

myDateString = '2015-05-05';
myDateObject = createDate( 2015, 5, 5 );
Run Code Online (Sandbox Code Playgroud)

我尝试过isDate(),isValid('date'),isValid('string').所有这些函数都为两个变量提供相同的答案('YES').但是,lsParseDateTime( myDateObject )抛出一个错误,所以我需要在运行lsParseDateTime函数之前检查对象类型.

PS. parseDateTime( myDateObject )工作得很好,这让我想知道lsParseDateTime是不是应该抛出错误.在Railo 4.2中,lsParseDateTime( myDateObject )工作正常.

Ada*_*ron 11

您可以利用所有CFML对象也是Java对象的事实,并使用Java方法:

myDateString = '2015-05-05';    
myDateObject = createDate( 2015, 5, 5 );    

writeOutput(myDateString.getClass().getName());    
writeOutput("<br>");    
writeOutput(myDateObject.getClass().getName());    
Run Code Online (Sandbox Code Playgroud)

这会产生:

java.lang.String
coldfusion.runtime.OleDateTime
Run Code Online (Sandbox Code Playgroud)