在asp.net中更改日期格式

本文关键字:日期 格式 asp net | 更新日期: 2023-09-27 18:08:52

我有一个存储事件日期的表。我用几个标签显示日期。一切正常。但是我想以'dd-mm-yyyy'格式显示我的日期,而sql server中的日期存储为'mm/dd/yyyy'。

 Create table testDate
 (
 EventStart date
 EventEnd date
 )

日期来自于datepicker,我不想在datepicker中格式化我的日期,因为它给了我转换问题。当我在asp.net标签中显示日期时,我想更改格式。现在我显示的日期如下:

 string CS = ConfigurationManager.ConnectionStrings["SportsActiveConnectionString"].ConnectionString;
    using (SqlConnection con = new SqlConnection(CS))
    {
        con.Open();
        SqlCommand cmd = new SqlCommand("Select * from testdate", con);
        SqlDataReader rdr = cmd.ExecuteReader();
        while (rdr.Read())
        {
            DateTime Received;
            DateTime.TryParse(rdr["EventStart"].ToString(),CultureInfo.InvariantCulture,DateTimeStyles.None, out Received);
            Label1.Text = Received.ToShortDateString();
        }
    }
}

在asp.net中更改日期格式

无论如何都不需要解析它。SQL Server以二进制格式保存DateTime。它没有任何格式。格式概念只有当你得到它们的文本表示时才会出现问题。

只需将其转换为DateTime (date在CLR端与DateTime映射),并使用自定义日期和时间格式说明符来获得您想要的格式的字符串表示。

Label1.Text = ((DateTime)rdr["EventStart"]).ToString("dd-MM-yyyy");
顺便说一下,我强烈怀疑您需要使用月而不是分钟。这就是为什么你需要把你的mm部分改为MMmm表示分钟,MM表示月。

使用using语句来处理你的SqlCommandSqlDataReader对象,就像你做连接一样。

顺便说一下,不要使用select *