【问题标题】:How to save date only from WPF datepicker using c#?如何使用 c# 仅从 WPF datepicker 保存日期?
【发布时间】:2015-06-18 14:46:04
【问题描述】:

我只想在我的数据库中保存日期。有一个在数据库中保存日期的表和以“日期”类型保存日期的列。现在我想从 UI 存储日期,所以我将 WPF DatePicker 放在 UI 中,它允许选择日期,但是每当我尝试从 datepicker 获取数据时,它会显示日期和时间。但我只想将日期存储在数据库中.

这就是我正在做的事情。顺便说一句,它是演示代码。无法上传原始代码。但这解释了事情。您可以在消息框中看到,它显示 14-10-2015 00:00:00 ,我希望删除这个零。

【问题讨论】:

  • 您应该在此处的代码标签中包含实际代码,而不是仅显示文本的屏幕转储。
  • 我认为你必须照顾这个 DateTime "ToShortDateString()" 的方法
  • 我试过 ToShortDateString(); 1) var dateonly = date1.selectedate.value.date.ToShortDateString(); 2)在 dateonly 变量中,我得到“字符串”类型的日期。 3)如果我需要在数据库中插入日期,我需要日期类型。 4)当您将字符串转换为日期时,您将拥有这种格式 ==> 13-04-2015 00:00:00 !!!!!

标签: c# wpf date visual-studio-2012 datepicker


【解决方案1】:

日期时间选择器有一个属性DisplayDate,类型为DateTime。此类型包含日期时间信息。

只需使用picker.DisplayDate.Date 这将返回一个DateTime 值,其中TimeOfDay 组件设置为00:00.00


编辑

通常您使用 SQL 语句在数据库中插入或更新值。您应该使用带有 DateTime 类型参数的参数化 SQL 语句。 SQL API 将负责将DateTime(.Net 类型)转换为您的 SQL Date 类型并去除所有时间信息。将时间组件设置为 00:00:00 是一个好主意,但可以避免任何奇怪的“舍入”。

【讨论】:

  • 我在 MSDN 中找到了这个。问题是如何将其保存在数据库中,因为格式仍然像 13-04-2015 00:00:00,后面的部分被归零。但我只需要日期,可以保存在数据库中。我只想约会。没时间。甚至没有归零。因为数据库只接受日期!!
  • 请显示您在数据库中设置日期值的代码。
  • 在实际问题中添加了屏幕截图。
  • 我正在使用 LINQ 在 dateTable 中查找任何日期。像这样。 var demolinq = (from d in context.dates where d.date1 == finaldate select d.dateid).tolist();上下文是我的数据库上下文(实体框架数据库优先),date1 是数据库中的实际日期列,dateid 是 dateTable 中的主键(int32),finaldate 是保存日期选择器中日期的变量。
  • 那么如果你从数据库中读回 Date 会得到什么?
【解决方案2】:

在最后使用 ToShortDateString() 类似:

var date = datePicker.SelectedDate.Value.Date.ToShortDateString();
            MessageBox.Show(date.ToString());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多