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