2013-10-15 68 views
-4

我试图不格式化ToString()。我需要在format.i日期本身不能做串 场景:将日期的mm/dd/yyyy转换为yyyy-mm-dd的日期格式

string str = "02/11/2006"; 
DateTime dt = new DateTime(); 
dt = Convert.ToDateTime(str); 

现在dt格式为mm/dd/yyyy,但我的格式需要yyyy-mm-dd 希望我加入一些sense..huh !

+0

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx – MUG4N

+1

您正在混淆DateTime结构及其字符串表示。 – giammin

回答

4

不确定你的意思。如果您在DateTime变量中有日期,则它是日期的通用表示。如果您希望将其转换回字符串,您可以使用以下内容:

 string str = "02/11/2006"; 
     DateTime dt = new DateTime(); 
     dt = Convert.ToDateTime(str); 

     var date = dt.ToString("yyyy-MM-dd"); 
2

DateTime没有格式(它只是数据)。只有字符串表示有一个。添加到您的代码:

String newFormatedDate = dt.ToString("yyyy-MM-dd"); 
2

我想你只需要了解的ToString重载:

DateTime newDate = DateTime.ParseExact("15/01/2001", "dd/MM/yyyy", null); 

Console.WriteLine(newDate.ToString("yyyy-MM-dd")); 
3

你混淆DateTimeStructure,其字符串表现。

,如果你想将字符串转换与你必须使用DateTime.ParseExactmethod

dt = DateTime.ParseExact(str ,"mm/dd/yyyy",CultureInfo.InvariantCulture); 

,如果你想有一个DaTime的特定字符串呈现的自定义DateTime格式,你必须使用一个format string

dt.ToString("yyyy-mm-dd") 
相关问题