C# 在asp.net中将数据表日期转换为dd/mm/yyyy格式
我有一个C# 在asp.net中将数据表日期转换为dd/mm/yyyy格式,c#,asp.net,datetime,datatable,C#,Asp.net,Datetime,Datatable,我有一个datatable,我想在其中以dd/mm/yyyy格式获取日期 现在我的约会像 2012年01月02日12:00:00上午 下面是我的代码 strInvoice_date = dt.Rows[i]["INVOICE_DATE"].ToString(); 必须在ToString()方法中传递所需的日期格式 有关日期时间格式的详细信息,请参见dt.Rows[i][“发票日期”]retunsobject,当您调用ToString方法时,它将调用not 如果数据表中的INVOICE\u DA
datatable
,我想在其中以dd/mm/yyyy
格式获取日期
现在我的约会像
2012年01月02日12:00:00上午
下面是我的代码
strInvoice_date = dt.Rows[i]["INVOICE_DATE"].ToString();
必须在ToString()方法中传递所需的日期格式 有关日期时间格式的详细信息,请参见
dt.Rows[i][“发票日期”]
retunsobject
,当您调用ToString
方法时,它将调用not
如果数据表中的INVOICE\u DATE
列是DateTime
,则可以显式地将对象
强制转换为DateTime
,并使用dd/MM/yyyyyy
(我假设您想要的是月而不是分钟)格式和适当的区域性,如
如果数据表中的INVOICE\u 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);
转换,然后根据需要表示:
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"));
将错误获取为方法的
no重载需要1个参数
在dt
中,发票日期的列类型是什么?是DateTime
还是string
?dt.Rows[i][“INVOICE\u DATE”]
返回object
,并且将string
作为参数的object.ToString()
没有重载。您需要使用DateTime转换列。strInvoice_date=Convert.ToDateTime(dt.Rows[i]“发票_date”].ToString(“0:dd/MM/yyyy”);我认为在这种情况下最好使用ParseExact
,因为这种格式可能不是OP的CurrentCulture
的标准日期和时间格式,因为Convert.ToDateTime(object)
可能会在其中调用ToString
方法。但是,由于OP选择了这个作为答案,它对这种情况无效:)这是更好的方法,为了避免头痛,定义文化信息很重要。
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"));