<cfset txtStartTime = createdatetime(year(txtStartDate),month(txtStartDate),day(txtStartDate),left(txtStartTime,2),right(txtStartTime,2),00)>
<cfset txtEndTime = createdatetime(year(txtEndDate),month(txtEndDate),day(txtEndDate),left(txtEndTime,2),right(txtEndTime,2),00)>
我做错了吗?供您参考,我的createdatetime值如下所示: txtStartTime = {ts&#39; 2014-07-22 08:00:00&#39;}和txtEndTime {ts&#39; 2014-07-22 17:00:00&#39;}
非常感谢你们。
答案 0 :(得分:4)
您的问题是时间{ts '2014-07-22 08:00:00'}
。当你对它使用left()或right()时,你将它视为字符串而不是日期对象。
所以2个最左边的字符是{t
,这对于createDateTime的小时值无效,因此是错误消息。
答案 1 :(得分:4)
好像你实际上是从ColdFusion开始识别为日期/时间的东西,因此{t
问题。您似乎也希望使用这些初始日期/时间的小时和分钟,并使用00
秒。如果是这种情况,您可以简单地执行此操作:
<cfset txtStartTime = createdatetime(year(txtStartDate),month(txtStartDate),day(txtStartDate),hour(txtStartTime),minute(txtStartTime),00)>
<cfset txtEndTime = createdatetime(year(txtEndDate),month(txtEndDate),day(txtEndDate),hour(txtEndTime),minute(txtEndTime))>
答案 2 :(得分:2)
是的,所以你有这个:
left(txtStartTime,2)
right(txtStartTime,2)
正如您所指出的,txtStartTime
的字符串值是:
{ts '2014-07-22 08:00:00'}
那么left("{ts '2014-07-22 08:00:00'}", 2)
的价值是多少?它是{t
right("{ts '2014-07-22 08:00:00'}",2)
的价值是多少?它是'}
现在就是你想要的,是吗?
你到底想要做什么?不是“你怎么解决它”,但你想做什么?