【发布时间】:2017-08-23 21:06:02
【问题描述】:
我有一个输入文本,我在其中获取日期:
<input type="text" name="myDate" />
提交表单后,我将这个日期保存到数据库中,做一个日期格式:
#DateFormat(myDate, "yyyy-mm-dd")#
如果用户输入:02/19/1948,则保存正确:1948-02-19。 但是如果用户输入:02191948,则保存:7901-05-07。为什么?有谁知道我该如何解决?
谢谢
【问题讨论】:
-
通常日期输入比单个文本框更严格。月、日、年的下拉菜单非常标准,您不必处理此类问题。
-
我明白了...我有一个 tcal javascript 日历插件,但它允许我输入像 02191948 这样的日期
-
你知道我是否可以在提交表单之前进行 JS 验证吗?
-
日期格式返回一个字符串。这是错误的做法。您希望将输入转换为日期对象,并使用查询参数。然后是在使用之前验证输入的问题。实际验证取决于您的业务规则。
-
请,请,请不要将日期作为字符串存储在您的数据库中。如果您绝对需要,请将其作为 yyyymmdd 发送,您的数据库应该能够解释它的需要。请务必注意 DateFormat() 和 DateTimeFormat() 之间的差异以及它们如何解释 YYYY 和 yyyy。面具会在 12 月底咬你一口。公平警告。
标签: date coldfusion dateformatter