将varchar Date显示为D/M/Y
本文关键字:varchar Date 显示 | 更新日期: 2023-09-27 18:22:14
我正在从数据库中提取一个日期,它是一个varchar。然而,在数据库中,它的格式是Y/M/D/。我需要它在前端渲染D/M/Y。我正在使用Entity框架将其引入Linq。它看起来像这样:
var startdateParam=新的ObjectParameter("StartDate",typeof(string));
然后我调用存储过程:
var webinarProducts = mgr.GetWebinars(groupCodeParam, startdateParam).ToList();
然后我将其分配到我的产品列表中:
webinar.StartDate=startdateParam.Value.ToString();
最后,在cshtml文件中(我在MVC3中构建它),我显示如下:
但当我发布页面时,它只是将格式设置为数据表Y/M/D中的wierd日期。
我试着在我的代码中转换/解析/格式化这些内容,但我总是出错。将其转换为我想要的任何日期格式的最佳方法是什么?
是否使用内置解析?
http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx
此处设置字符串格式:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
webinar.StartDate = DateTime.ParseExact(startdateParam.Value.ToString(), "yyyy/MM/dd", CultureInfo.InvariantCulture);
然后在前端可以指定
@Model.ToString("dd/MM/yyyy")
如果可以更改模式,我会使用DATETIME列而不是varchar。
如果没有,我会使用C#中内置的DateTime函数。这个代码应该工作:
DateTime dateObj = DateTime.Parse(startdateParam.Value.ToString());
string outDateString = dateObj .ToString("dd/MM/yy");
希望能有所帮助。