在asp.net中将数据表日期转换为dd / mm / yyyy格式

我有一个数据表,我希望以dd/mm/yyyy格式获取日期。

目前我得到的日期就像

02-01-2012 12:00:00 AM

以下是我的代码

 strInvoice_date = dt.Rows[i]["INVOICE_DATE"].ToString(); 

转换然后根据需要表示

  strInvoice_date = Convert.ToDateTime(dt.Rows[i]["INVOICE_DATE"]).ToString("dd/MM/yyyy"); 

您的dt.Rows[i]["INVOICE_DATE"]返回object ,当您调用ToString方法时,它将调用object.ToString() 而不是 DateTime.ToString()

如果INVOICE_DATE列是数据表中的DateTime ,则可以将object显式转换为DateTime并使用dd/MM/yyyy (我假设您需要几个月而不是几分钟)格式,并使用InvariantCulture适当的文化格式。

 var Invoice_date = (DateTime)dt.Rows[i]["INVOICE_DATE"] .ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); 

如果您的INVOICE_DATE列是数据表中的string ,则需要使用object.ToString获取它的字符串表示forms,将其解析为Datetime ,并生成它的字符串表示forms。

 var Invoice_date = DateTime.ParseExact(dt.Rows[i]["INVOICE_DATE"].ToString(), "dd-MM-yyyy hh:mm:ss tt", CultureInfo.InvariantCulture) .ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); 

您必须在ToString()方法中传递所需的日期格式,

  strInvoice_date = Convert.ToDateTime(dt.Rows[i]["INVOICE_DATE"]).ToString("dd/mm/yyyy"); 

有关日期时间格式的更多详细信息, 请访问

以下代码可以帮助您

 strInvoice_date = Convert.ToDateTime(dt.Rows[i]["INVOICE_DATE"].ToString("0:dd/MM/yyyy"));