sql-server - 需要帮助在 ColdFusion 中格式化类型 ="datetime-local"(不是冷聚变元素)

标签 sql-server date datepicker coldfusion date-formatting

好吧,我已经搜索了 2 天,并认为我找到了解决方案,但它不起作用,也许我可以在这里帮忙。

我试图允许用户选择表单发布的日期时间。我发现 type="datetime-local"可以实现这一点(尽管它没有得到浏览器的广泛支持,但它似乎仍然适合我的目的。)

表单元素:

<input name="PostDate" type="datetime-local" (我们使用的 CF 版本已弃用 cfcalendar)

我的cfform方法是“post”,我的操作是“submit.cfm”

当我们到达 Submit.cfm 页面时,我使用以下 CF 代码来格式化日期以进入 MSSQL 数据库:

<cfset PostDate=Replace(PostDate,"T"," ","All")><br>
<cfset PostDate = DateTimeFormat (PostDate, "yyyy-MM-dd HH:nn:ss")>

输出显示日期格式正确:
format code output

但是...当我尝试将日期插入数据库时​​,格式化的日期似乎没有保存在#PostDate#变量中(MSSQL 数据库服务器抛出此错误:

MSSQL error thrown


为了信息的完整性,数据库中的表是如何设置的: database


这是submit.cfm的代码


<cfmodule template="customTags/front.cfm" >
<cfoutput>
    <p>Date before format: #PostDate#</p>
</cfoutput>
<cfset PostDate=Replace(PostDate,"T"," ","All")>
<cfset PostDate = DateTimeFormat (PostDate, "yyyy-MM-dd HH:nn:ss")>
<br>
<cfoutput>
    <p>Title: #PostTitle#</p> 
    <p>Date after format: #PostDate#</p>
    <p>Author ID: #UserID#</p>
    <p>Category ID: #CategoryID#</p>
    <p>Post Text: #Post#</p>
</cfoutput>
<hr>
<!--- Insert the new record --->
<cfinsert datasource="Intranet" tablename="TBL_POST">
<h1>Post Added</h1>
<cfoutput> You have added #Form.PostTitle#.</cfoutput>  
</cfmodule>

作为这个问题的最后一个资格,我需要说我是 ColdFusion 的绝对初学者(我们的国家机构使用它),自从我编写 HTML 表单以来已经有十多年了。

我感谢我能得到的所有帮助。

最佳答案

感谢 Dan Bracuk,我能够找到解决此问题的方法:

我需要在 PostDate 前加上 - form。 像这样:

<cfset form.PostDate=Replace(form.PostDate,"T"," ","All")><br> 
<cfset form.PostDate = DateTimeFormat (form.PostDate, "yyyy-MM-dd HH:nn:ss")>

原因是 cfinput 处理表单范围内的变量,而原始 cfset 命令在变量范围内创建了一个变量。

关于sql-server - 需要帮助在 ColdFusion 中格式化类型 ="datetime-local"(不是冷聚变元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62641055/

相关文章:

c# - 在表中插入数据之前是否可以获取 Id (IDENTITY) 的新值?

php - MySQL/PHP 查询 - 检查输入的开始/结束日期是否与 Db 中的现有日期范围重叠

python - 将 Pandas 列转换为日期时间

sql - SQL Server查询中截断小数位不返回精确值

sql-server - 复制整个数据库内容(架构和数据)

java - 如何将日期截断/跨度为一个时间间隔?

javascript - 单击日历按钮在 Accordion 内的 Angular UI 日期选择器上不起作用

javascript - 更改字段属性

jquery-ui - Jquery selectBox 与 jquery ui datepicker 冲突

sql-server - 在 Sql STUFF 命令中将最后一项的逗号分隔符替换为 "and"