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

时间:2016-04-15 10:13:58

标签: c# asp.net datetime datatable

我有一个datatable,其中我希望以dd/mm/yyyy格式获取日期。

目前我的日期为

  

02-01-2012 12:00:00 AM

以下是我的代码

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

4 个答案:

答案 0 :(得分:6)

转换,然后代表,如您所愿:

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

答案 1 :(得分:3)

您的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获取其字符串表示形式,将其解析为Datetime,然后生成它的字符串表示。

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

答案 2 :(得分:0)

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

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

有关日期时间格式的详细信息,请visit

答案 3 :(得分:0)

以下代码可以帮助您

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