【发布时间】:2014-07-29 11:02:42
【问题描述】:
我搜索了整个网站和 Google,但找不到我真正需要的东西。我正在尝试在两个日期之间从 SQL Server DB 中选择记录(DB 列是日期格式而不是日期时间)。我从两个文本框(21.8.2014 格式)中获取日期,查询是BirthDay >= dateTxt1 AND BirthDay<=dateTxt2
dateTxt1 和 dateTxt2 应该是 DateTime 而不是字符串。
请不要让我使用 ToShortDateTimeString("dd.MM.yyyy")。我想要这样的东西:
DateTime ddateTxt1 =Convert.toDateTime(TextBox1.Text, "dd.MM.yyyy");
这可能吗?输出应该像 21.8.2014,而不是像 21.8.2014 00:00:00 如何从 TextBox 中获取值并将其转换为 DateTime 并进行查询。
我尝试过 belov 代码,但没有成功:
CultureInfo provider = CultureInfo.InvariantCulture;
DateTime theDateTime = DateTime.ParseExact(TextBox1.Text, "d.MMMM.yyyy", provider);
谢谢
【问题讨论】:
-
问题出在哪里还不是很清楚。来自
TextBox1的用户输入是否包括小时/分钟/秒?你是如何输出这个值的?DateTime值被格式化为 output,不一定是 input。DateTime值本身只是数据,它没有格式或文化信息。您在哪里看到这些您不想要的小时/分钟/秒值? -
除了之前的评论要求;你是如何查询数据库的?它是哪个版本的 SQL?
-
SQL server 2012 - 我的查询是:"Select * From db Where Active=true ANDbirthDay >= dateTextBox1 ANDbirthDay
标签: c# sql date datetime converter