从数据库读取数据并设置为标签时,更改C#中的日期格式
我试图从数据库中读取从数据库读取数据并设置为标签时,更改C#中的日期格式,c#,asp.net,sql-server,string,date,C#,Asp.net,Sql Server,String,Date,我试图从数据库中读取日期字段,并将其设置为标签字段。我使用下面的代码 SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString); con.Open(); SqlCommand cmd = new SqlCommand("select BirthDate from Student where Name=@name", con); cm
日期
字段,并将其设置为标签字段。我使用下面的代码
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select BirthDate from Student where Name=@name", con);
cmd.Parameters.AddWithValue("@name", "Mano");
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
lblName.Text = dt.Rows[0]["Date"].ToString();
但这将以02-05-1991 00:00:00
格式显示标签中的数据值,但我希望以dd-mm-yyyy
格式显示它,如05-02-1991
。因此,我尝试了以下代码:
lblName.Text = dt.Rows[0]["BirthDate"].ToString("dd-mm-yyyy");
但它显示了这个错误:
方法ToString没有重载,只接受1个参数
如何更改格式?您需要将日期值视为DateTime,然后从具有所需格式选项的DateTime结构中调用ToString重载 实际上,您正在将行值转换为字符串,而字符串不知道如何格式化日期
DateTime t = dt.Rows[0].Field<DateTime>("Date");
lblName.Text = t.ToString("dd-MM-yyyy");
DateTime t=dt.Rows[0]。字段(“日期”);
lblName.Text=t.ToString(“dd-MM-yyyy”);
另外,请注意月份部分的正确格式。它是大写的
M
。小写的m
表示分钟。假设生日
表示有效的日期时间
,请在调用ToString()之前将其转换
您当前正在调用对象类上的ToString()
方法,而不是DateTime
类,因此,没有重载允许使用日期格式化程序。它的工作im在SQL表中使用date
格式。值为05-02-1991
,但在C中,当我给出格式为dd mm yyyyy
时,它在标签中显示为02-05-1991
这是否意味着SQL将date
格式存储为mm dd yyyyy
,这意味着给定的格式字符串是错误的,它应该是dd-MM-yyyy
,因为在DateTime格式中MM
表示分钟而不是月份。
lblName.Text = Convert.ToDateTime(dt.Rows[0]["BirthDate"]).ToString("dd-mm-yyyy");