在列表中将日期格式化为 dd/MM/yyyy 从数据库查看

本文关键字:yyyy MM 数据库 dd 列表 日期 格式化 | 更新日期: 2023-09-27 18:37:18

我正在尝试在列表视图中格式化日期,以便只有日期以 dd/MM/yyyy 格式显示,而不是时间。我试图只返回 SQL 中的日期,但时间显示为 00:00 等。另外,我尝试使用 .ToString("dd/MM/yyyy") 格式化字符串。

     private void Home_Load(object sender, EventArgs e)
    {
        string str = "Server=DESKTOP-NB0VA19''SQLEXPRESS;Database=database_name; Integrated Security=True;";
        SqlConnection conn = new SqlConnection(str);
        conn.Open();
        DataTable dt = new DataTable();
        SqlDataAdapter ada = new SqlDataAdapter("SELECT job_type, job_number, CONVERT(date,due_date) AS 'due_date', job_description FROM job", conn);
        ada.Fill(dt);
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            DataRow dr = dt.Rows[i];
            ListViewItem listitem = new ListViewItem(dr["job_type"].ToString());
            listitem.SubItems.Add(dr["job_number"].ToString());
            listitem.SubItems.Add(dr["due_date"].ToString());
            listitem.SubItems.Add(dr["job_description"].ToString());
            listView1.Items.Add(listitem);
        }

在列表中将日期格式化为 dd/MM/yyyy 从数据库查看

你需要

先解析到DateTime

var dt = DateTime.Parse(dr["due_date"].ToString());
listitem.SubItems.Add(dt.ToString("dd/MM/yyyy");

或者,如果它已经是一个DateTime

var dt = dr.Field<DateTime>("due_date");
listitem.SubItems.Add(dt.ToString("dd/MM/yyyy");