【发布时间】:2016-04-12 14:30:13
【问题描述】:
我正在使用 C# MVC EF Code First,其中有一个 Linq 表达式,如下所示:
var data = new SchedulerAjaxData(new GTOpel().mxes.Select(e => new
{
id = e.nkeyid,
text = e.texto,
start_date = e.data,
end_date = e.data
})
);
我现在的问题是:我有一个 DateTime 字段(数据),其中包含我想要的日期,但它使用默认时间 (00:00:00.000)。
我在这个字段上得到的格式类似于“YYYY-MM-dd HH:mm:ss.fff”
我有一个时间字段 (hinicio),它是一个字符串而不是 DateTime/TimeSpan 类型 - 我想将 hinicio 添加到数据中 - 让我们为 hinicio 提供一个示例值,例如“13:00”,因为这是格式(“ HH:mm") 数据库用于字符串。
最后,这就是我想要得到的:“2016-01-01 13:00:00.000”
既然我们讨论的是 DateTime 和 String,有没有一种合理的方法可以在我上面提到的 IQueryable 表达式中格式化这两个值?
如果不是,我应该如何在 Select 方法中使用我的值之前对其进行格式化?
更新/更多详细信息:
对于那些可能对此感到疑惑的人,变量 id、text、start_date 和 end_date 对于调度程序库是必需的,所以我可以看到我已经得到的事件。
此调度程序是我正在使用的模板,现在我正在尝试使用我的数据库来实现它。
更多信息:http://docs.dhtmlx.com/scheduler/
在此先感谢并致以最诚挚的问候,
格兰维克
【问题讨论】:
-
我的建议是,不要将时间作为字符串存储在数据库中。这就是 DateTime/DateTimeoffset 类型的用途。
-
您希望添加由 SQL Server 完成,还是可以在客户端完成?还有很多问题已经在讨论这个主题了,你试过搜索吗?
-
hinicio的格式是什么? -
是的,但我的意思是
hinicio值,这些字符串就像“12:15”或“12m”,还是只是一个数字? -
格式表示这些字符串中的值是什么样的? 'yyyy-MM-dd' ? 'MM/dd/YYYY'? DateTime 不是一种格式,它是一种类型。 DateTime 具有 no 格式,它是一个二进制值,可根据多种格式将 formatted 转换为字符串。 default 格式是系统语言环境定义的任何格式。如果你尝试解析
29/3/2015' on a US computer you'd get an error because it would expect3/29/2015`
标签: c# asp.net-mvc entity-framework linq