基本上,我需要相当于 T-SQL CONVERT(NVARCHAR(10), datevalue, 126)
我试过了:
from t in ctx.table
select t.Date.ToString("yyyy-MM-dd")
但它会抛出不支持的异常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/