值1-不能转换为数字

时间:2013-12-06 17:30:09

标签: coldfusion

我正在使用以下内容进行数据转换:

<cfset Year = Left(mbTimeStamp_dt,4)>
<cfset Month = mid(mbTimeStamp_dt,5,2)>
<cfset Date = mid(mbTimeStamp_dt,7,2)>
<cfset Hour = mid(mbTimeStamp_dt,9,2)>
<cfset Minute = right(mbTimeStamp_dt,2)>
<cfset NewDate= "#Createdatetime(Year,Month,Date,Hour,Minute,00)#">

<cfset PSTTime = #DateConvert("UTC2Local", NewDate )# >
<cfset ESTTime = DateAdd('h',3,PSTTime)>   

但我在以下一行收到错误:

<cfset NewDate= "#Createdatetime(Year,Month,Date,Hour,Minute,00)#">
  

错误消息:“值1-无法转换为数字。”

我做错了吗?供您参考,我的mbTimestamp_dt值如下所示:

      2013-06-06 11:51:37

2 个答案:

答案 0 :(得分:5)

除了年份之外,所有字符串解析函数都返回不正确的值。正如其他人所说的那样,在尝试对它们做任何事情之前输出这些值,你就会看到什么是错的。

旁注。您可以使用一些内置的ColdFusion日期/时间函数来获取相关值,而不是手动解析字符串。

<cfset Year = Year(mbTimeStamp_dt)>
<cfset Month = Month(mbTimeStamp_dt)>
<cfset Day = Day(mbTimeStamp_dt)>
<cfset Hour = Hour(mbTimeStamp_dt)>
<cfset Minute = Minute(mbTimeStamp_dt)>

<cfset NewDate = createDateTime(Year, Month, Day, Hour, Minute, 00)>
<cfset PSTTime = dateConvert("UTC2Local", NewDate)>
<cfset ESTTime = dateAdd('h', 3, PSTTime)>

我将变量Date更改为Day以避免歧义。

希望有所帮助。

答案 1 :(得分:0)

输出每个变量。带有连字符的那个是引起问题的那个。然后看看你的字符串函数。

确保使用给出1位和2位数字的时间戳测试月份,日期,小时和分钟函数。

修改

与您的问题无关,但是您要将时间戳字符串中的秒数分配给分钟变量。