2014-11-14 26 views
-3

我需要将日期格式从dd-mm-yyyy转换为mm/dd/yyyy。我在一个以下尝试,但它将格式转换为mm-dd-yyyy转换日期从dd-mm-yyyy到mm/dd/yyyy

packDate = packDateControl.SelectedDate.Value.ToString("MM/dd/yyyy"); 

我需要它是这样的mm/dd/yyyy。如何在c#中做到这一点。

谢谢

+0

一些魔法? 'ToString'像往常一样工作。仔细检查你的结果。 – 2014-11-14 16:24:17

+1

如果'packDate'是一个看起来应该是的字符串。我不明白问题出在哪里 – user1 2014-11-14 16:26:21

+0

@ user1 packDate是字符串 – user2681579 2014-11-14 16:31:09

回答

1

当在一个自定义日期格式的字符串时,/字符替换区域设置特定的日期分隔符,所以对于英语语言环境,这往往是/,但对土耳其,这将是.

因此,有有多种选择,你既可以引述他们的文字,所以像:

packDate = packDateControl.SelectedDate.Value.ToString("MM'/'dd'/'yyyy"); 

或者你也可以指定区域使用:

var culture = new CultureInfo("en-US"); 
packDate = packDateControl.SelectedDate.Value.ToString("MM/dd/yyyy", culture); 

或者你可以使用一个standard format string,与相关区域设置:

var culture = new CultureInfo("en-US"); 
packDate = packDateControl.SelectedDate.Value.ToString("d", culture); 

更多information on custom date format strings, check out MSDN

+0

你是对的。工作很好。 – user2681579 2014-11-17 09:22:12

-1

不知道你正在使用什么控制,但尝试。 。 。

packDate = packDateControl.SelectedDate.Date.ToString("MM/dd/yyyy"); 

交换.Value for .Date。

+0

'/'是[日期分隔符的格式说明符](http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#dateSeparator),*可能不是*输出为'/'(在阿拉伯语(阿尔及利亚),它将是'-');这不是由于格式化值本身的问题。 – 2014-11-17 08:57:41