C# 将字符串转换为没有时间的日期
这条线C# 将字符串转换为没有时间的日期,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,这条线 System.DateTime.Parse("09/12/2009"); 将日期(字符串)转换为2009年12月9日12:00:00 AM。如何在2009年9月12日的表格中获得日期 在解释之后,我会: DateTime dt = System.DateTime.Parse(Request.Form["datepicker"]); dt.ToString("dd/mm/yyyy"); /* and this code have time, why???*/ 您的问题不在于解析,而在
System.DateTime.Parse("09/12/2009");
将日期(字符串)转换为2009年12月9日12:00:00 AM。如何在2009年9月12日的表格中获得日期
在解释之后,我会:
DateTime dt = System.DateTime.Parse(Request.Form["datepicker"]);
dt.ToString("dd/mm/yyyy");
/* and this code have time, why???*/
您的问题不在于解析,而在于输出。查看DateTime的工作原理,或使用以下示例:
using System;
class Program
{
static void Main(string[] args)
{
DateTime dt = DateTime.Parse("09/12/2009");
Console.WriteLine(dt.ToString("dd/MM/yyyy"));
}
}
或者在您的区域设置中获取某些内容:
Console.WriteLine(dt.ToShortDateString());
更新:你对问题的更新意味着你还没有完全理解我的答案,所以我会补充一点解释。NET中没有日期-只有DateTime。如果您想在.NET中表示一个日期,可以将时间存储在当天开始的午夜。即使你不需要时间,时间也必须被储存起来。您不能删除它。重要的一点是,当您向用户显示此DateTime时,您只向他们显示日期部分。任何解析为DateTime对象的内容都将包含日期+时间。如果未指定时间,则假定值为0000hr 要获得仅日期的表示,取决于如何将其格式化为字符串 例如,
date.ToString(“dd/MM/yyyy”)
请参阅MSDN。如果要将gridview datetime列转换为仅日期列,请使用以下代码:
raddgvDaybook.Rows.ToList().ForEach(x =>
{
DateTime dt = DateTime.Parse(x.Cells["Vocdate"].Value.ToString());
string str = string.Format("{0:MM/dd/yyyy}", dt);
x.Cells["Vocdate"].Value = str;
});
我测试了代码,如果在dgv中将datetime绑定为字符串,它将起作用。+1这是我找到的最好的列表,我已经将它标记为格式覆盖书签多年了。这就是我将单词链接到的列表。:)所以是马克。我完全忽略了:-)您想要12月9日还是9月12日?有关日期(日期-时间)格式的更多帮助,请参阅此链接:
。)