gpt4 book ai didi

c# - 将 dd/MM/yyyy 输入转换为日期格式的 yyyy-MM-dd,而不是 varchar/datetime

转载 作者:行者123 更新时间:2023-11-30 19:59:44 24 4
gpt4 key购买 nike

在搜索了一整天后,我无法找到解决方案,面临多个转换错误。主要目标是将 dd/MM/yyyy 转换为 yyyy-MM-dd“日期”格式以适应 SQL Server。

我有一个 SQL Server 2012 数据库,数据类型为 date 作为我表中的一列。

我在我的项目网站上使用带有 jquery-1.4.1-vsdoc.js 的 jQuery 日期选择器,输出 dd/MM/yyyy 是使用

获得的
Dim dDate As DateTime = DateTime.Parse(Request.Form(txtStart.UniqueID))

然后我尝试使用获取的日期执行插入 SQL,但数据库日期格式为 yyyy-MM-dd

试过了,但是不行:

SELECT CONVERT(date, CONVERT(DATETIME, '14/10/2011', 0), 120)

试过了,它可以工作,但它是 varchar 数据类型,这不是我需要的

SELECT REPLACE(CONVERT(VARCHAR(10), '15/4/2014', 111), '/', '-')  AS [YYYY-MM-DD]

我真的需要在我的网站上使用 VB/C# 代码或 SQL 语句来实现此代码,请帮助

我使用 jQuery 的脚本已经用代码编写了我的 sql 当前设置的格式,但是在运行时它不适用

<script type="text/javascript">
$(document).ready(function () {
$("#<%=txtStart.ClientID %>").dynDateTime({
showsTime: false,
ifFormat: "%Y-%m-%d ",
daFormat: "%l;%M %p, %e %m, %Y",
align: "BR",
electric: false,
singleClick: false,
displayArea: ".siblings('.dtcDisplayArea')",
button: ".next()"
});
});
</script>

最佳答案

Main objective is to convert a dd/MM/yyyy to yyyy-MM-dd "date" format to fit in SQL

不要!您应该尽可能避免字符串转换。尽可能多地保持数据的自然表示。

您可能需要首先将日期从 dd/MM/yyyy 解析为 DateTime(尽管如果您可以避免这种情况,请这样做 - 我们不会'知道您的数据来自哪里),但是您应该保留它作为DateTime。请改用参数化 SQL,将参数值作为 DateTime 传递给数据库。当然,您还应该确保数据库中的字段使用适当的开头类型(而不是 varchar)。确保您的模式与您的数据匹配对于运行一个健全的系统至关重要。

解析部分应该比较简单。例如:

DateTime date = DateTime.ParseExact(text, "dd/MM/yyyy",
CultureInfo.InvariantCulture);

可能想改用用户的文化(取决于数据的来源)并且您可能想使用DateTime.TryParseExact 代替(如果这是用户输入的数据而不是来自机器对机器通信的数据)。

关于c# - 将 dd/MM/yyyy 输入转换为日期格式的 yyyy-MM-dd,而不是 varchar/datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23194700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com