c# - Linq 2 Sql DateTime 格式为字符串 yyyy-MM-dd

基本上,我需要相当于 T-SQL CONVERT(NVARCHAR(10), datevalue, 126)

我试过了:

  1. from t in ctx.table select t.Date.ToString("yyyy-MM-dd") 但它会抛出不支持的异常
  2. from t in ctx.table select "" + t.Date.Year + "-" + t.Date.Month + "-" + t.Date.Day 但我认为这不是一个可用的解决方案,因为我可能需要能够更改格式。

我看到的唯一选择是使用 Convert.ToString(t.Date, FormatProvider) ,但我需要一个格式提供程序,我也不确定它是否有效

FormatProvider 不 work , String.Format不起作用(string.Format("{0:yyyy-MM-dd}", t.Date) 也会抛出不支持的异常)。

最佳答案

如果其他人有这个问题,我通过创建一个单独的函数来为我进行日期格式化来解决这个问题。

我的 Linq 看起来像这样:

from a in context.table
where ...
select new Class
{
DateString = GetFormattedString(a.DateTimeObject)
}

GetFormattedString 只返回 DateTimeObject.ToString("yyyy-MM-dd"); 这对我有用!

https://stackoverflow.com/questions/2428128/

相关文章:

html - 动态生成的 HTML 的格式 - 没人关心吗?

c# - 获取格式化字符串以表示 UTC 偏移量的最佳方法是什么?

javascript - 从字符串,javascript 中获取 x 像素值文本的最可靠方法

excel - 带硬停止的条件格式颜色渐变

layout - 更改 latex 文档中间的纸张尺寸?

ruby-on-rails - Ruby on Rails 中的自定义格式

python - 将列表格式化为表格输出的列(python 3)

algorithm - 如何有效地为特定宽度的字符串找到理想的列数?

java - 任何可用于 java 文件的命令行格式工具?

SQL Server 2005 For XML Explicit - 需要帮助格式化