当我从数据库中获取信息时,我无法格式化日期类型信息。
我正在使用:
while (sqlReader.Read())
{
var payment = new Payment
{
Id = Convert.ToInt32(sqlReader["Id"]),
Amount = Convert.ToDecimal(sqlReader["Amount"]),
StartDay = Convert.ToDateTime(sqlReader["StartDay"]), //I want this to get this format dd.MM.yyyy
EndDay = Convert.ToDateTime(sqlReader["EndDay"]) //I want this to get this format dd.MM.yyyy
};
Payments.Add(payment);
}
我尝试了我的扩展程序:.ToShortDate()
,尝试DateTime.ParseExact
,我一直这样做:String was not recognized as a valid DateTime.
答案 0 :(得分:1)
尝试使用上面的示例,为了工作,必须将StartDay的数据类型,EndDay从DateTime
更改为string
StartDay = sqlReader["StartDay"] != null ? Convert.ToDateTime(sqlReader["StartDay"]).ToString("dd.MM.yyyy") : new Date(DateTime.Now.Year,01,01);
答案 1 :(得分:0)
答案 2 :(得分:0)
Oracle.DataAccess示例:
DateTime value=default(DateTime);
if (!reader.IsDBNull(1))
value= reader.GetDateTime(1);
1-列数
答案 3 :(得分:0)
使用DateTime.Parse()传递文化格式:
StartDay = DateTime.Parse("2013/06/19", new CultureInfo("en-GB", false));
给出日期:
19/06/2013 00:00:00
如果需要,您可以通过调用.ToShortDateString()
来删除小时/分钟/秒。
实际上,您应该能够正常地从数据库中获取日期,然后通过调用它上面的.ToString("dd/MM/yyyy");
来控制它在前端的输出方式。
Response.Write(StartDate.ToString("dd/MM/yyyy"));