将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日期。

    我试着在我的代码中转换/解析/格式化这些内容,但我总是出错。将其转换为我想要的任何日期格式的最佳方法是什么?

    将varchar Date显示为D/M/Y

    是否使用内置解析?

    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");
    

    希望能有所帮助。