将日期格式从dd-mmm-yyyy(2013年5月16日)转换为mm / dd / yyyy(09/12/2013)

时间:2013-05-13 12:08:51

标签: c# asp.net

我想从dd-mmm-yyyy转换日期格式(2013年5月16日) 至日期格式mm / dd / yyyy(2013年12月9日)。

我正在使用此代码。但仍然无法获得正确的价值。月份值变为零。

string dt = DateTime.Parse(txtVADate.Text.Trim()).ToString("mm/dd/yyyy");

在上面的代码中,txtVADate是TextBox Control,它给出了日期格式 喜欢  dd-mmm-yyyy例子(2013年5月16日)。

任何答案都很明显。

6 个答案:

答案 0 :(得分:10)

月份的格式说明符为MM而不是mm,请尝试使用MM/dd/yyyy。此外,当使用自定义格式时,最好通过InvariantCulture以避免与您的应用程序运行的当前文化发生任何冲突,即

DateTime.Parse(txtVADate.Text.Trim()).ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);

请参阅Custom Date and Time Format Strings

答案 1 :(得分:4)

使用大写M字母。

m - 分钟
M - 月

答案 2 :(得分:2)

您必须使用MM代替mmCultureInfo.InvariantCulture作为第二个参数

string dt = DateTime.Parse(txtVADate.Text.Trim()).ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);

答案 3 :(得分:1)

斜杠/表示:“将我替换为您的文化信息的实际当前日期分隔符。”

要强制/作为分隔符,您可以使用CultureInfo.InvariantCulture

string dt = DateTime.Parse(txtVADate.Text.Trim())
    .ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);

MSDN

  

/    当前中定义的日期分隔符   System.Globalization.DateTimeFormatInfo.DateSeparator属性   用于区分年,月和日。

(你必须使用MM而不是mm,因为小写是分钟而大写是月)

答案 4 :(得分:0)

string dt = datatime.toshortdatestring`

答案 5 :(得分:0)

这是您的解决方案。

using System.Globalization;

 string dt = DateTime.Parse(txtDate.Text.Trim()).ToString("mm/dd/yyyy", CultureInfo.InvariantCulture);

也可以这样做

 public string FormatPostingDate(string txtdate)
 {
     if (txtdate != null && txtdate != string.Empty)
     {
         DateTime postingDate = Convert.ToDateTime(txtdate);
         return string.Format("{0:mm/dd/yyyy}", postingDate);
     }
     return string.Empty;
 }