如何在mvc5中从数据库中检索日期时从日期时间显示日期?

时间:2016-08-09 13:25:49

标签: c# asp.net-mvc-5

我想在从数据库中检索数据时将日期时间转换为日期格式。

我的控制器代码

$(document).ready(function() {
  $(".all").each(function() {
    $(this).addClass("animated")
  })
  $(".filter-logo").click(function(e) {
    e.preventDefault();
    $(".all").removeClass('fadeInEffect').addClass("fadeOutEffect")
    setTimeout(function() {
      $(".all").hide(0)
      $(".logo").stop().show(0).removeClass("fadeOutEffect").addClass('fadeInEffect');
    }, 500);
  });

  $(".filter-website").click(function(e) {
    e.preventDefault();
    $(".all").removeClass('fadeInEffect').addClass("fadeOutEffect")
    setTimeout(function() {
      $(".all").hide(0)
      $(".website").stop().show(0).removeClass("fadeOutEffect").addClass('fadeInEffect');
    }, 500);
  });

  $(".filter-packaging").click(function(e) {
    e.preventDefault();
    $(".all").removeClass('fadeInEffect').addClass("fadeOutEffect")
    setTimeout(function() {
      $(".all").hide(0)
      $(".packaging").stop().show(0).removeClass("fadeOutEffect").addClass('fadeInEffect');
    }, 500);
  });

  $(".filter-forsale").click(function(e) {
    e.preventDefault();
    $(".all").removeClass('fadeInEffect').addClass("fadeOutEffect")
    setTimeout(function() {
      $(".all").hide(0)
      $(".forsale").stop().show(0).removeClass("fadeOutEffect").addClass('fadeInEffect');
    }, 500);
  });

  $(".filter-all").click(function(e) {
    e.preventDefault();

    $(".all").removeClass('fadeInEffect').addClass("fadeOutEffect")
    setTimeout(function() {
      $(".all").show(0).removeClass("fadeOutEffect").addClass('fadeInEffect');
    }, 500);
  });
});

我想在从数据库中检索时转换日期格式(只需要日期而不是时间)

如何将VisitingDate转换为仅显示以下查询中的日期(而非时间)

public ActionResult GetDates(VisitorsViewModel VisitorsVM)
{
    try
    {
        string sqlcmd = "Select * from View_VisitorsForm where CONVERT(VisitingDate As Date)  >='" + fromdt + "'and CONVERT( VisitingDate As Date) <= '" + todt + "'";

        con.Open();
        SqlCommand cmd = new SqlCommand(sqlcmd, con);
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        adp.Fill(dt);
    }
    catch (Exception ex)
    {
        throw;
    }

    ReportDocument rpt = new ReportDocument();
    rpt.Load(Server.MapPath("~/Areas/Sales/CrystalReports/rpt_VisitSummaryCrystalReport.rpt"));
    rpt.SetDataSource(dt);
    Stream stream = rpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);

    return File(stream, "application/pdf");
}

enter image description here

上面的sql查询无法转换日期格式,它随时间而来。我只想要日期。例如:12月3日 - 16日这样。

2 个答案:

答案 0 :(得分:1)

使用ToString只获取日期,假设您在date变量中有DateTime类型,那么您可以通过此获取

string s = date.ToString("dd/MM/yyyy");

如果您使用的是sql server 2008或更高版本,则只能按CONVERT(VisitingDate, getdate())

获取日期
string sqlcmd = "Select * from View_VisitorsForm where CONVERT(VisitingDate, getdate(),110)  >='" + fromdt + "'and CONVERT(VisitingDate, getdate(),110) <= '" + todt + "'";

答案 1 :(得分:0)

在sql中,您可以在SQL查询中使用CONVERT()函数来完成这项工作。

CONVERT(VARCHAR(19),GETDATE())    
CONVERT(VARCHAR(10),GETDATE(),10)
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),6)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)

以上将导致:

  

2014年11月4日晚上11:45

     

11-04-14 11-04-2014

     

04年11月4日

     

2014年11月4日

     

2014年11月4日11:45:34:243

所以你的查询将是:

string sqlcmd = "Select Column1,Column2,Column3,CONVERT(VARCHAR(10),VisitingDate,110) as 'VisitingDate' from View_VisitorsForm where CONVERT(VARCHAR(10),VisitingDate,110)  >='" + fromdt + "'and CONVERT(VARCHAR(10),VisitingDate,110) <= '" + todt + "'";

这是您的问题,您需要选择所有列,而日期列则执行此操作。所以在查询中用列名替换Column1,column2。

参见w3Schools教程here