【问题标题】:Convert Date format from dd-mmm-yyyy (16-May-2013) to mm/dd/yyyy (09/12/2013)将日期格式从 dd-mmm-yyyy (16-May-2013) 转换为 mm/dd/yyyy (09/12/2013)
【发布时间】:2013-05-13 12:08:50
【问题描述】:

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

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

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

在上面的代码中,txtVADate 是给出日期格式的文本框控件 像 dd-mmm-yyyy 示例(2013 年 5 月 16 日)。

任何答案都是可观的。

【问题讨论】:

标签: c# asp.net


【解决方案1】:

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

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

Custom Date and Time Format Strings

【讨论】:

    【解决方案2】:

    使用大写字母M

    m - 分钟
    M - 月

    【讨论】:

    • 谢谢。我没有意识到这一点并浪费了一些时间
    【解决方案3】:

    您必须使用MM 而不是mmCultureInfo.InvariantCulture 作为第二个参数

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

    【讨论】:

      【解决方案4】:

      斜线/ 的意思是:“用你的文化信息的实际当前日期分隔符替换我”。

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

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

      MSDN:

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

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

      【讨论】:

      • 我认为这个答案不值得投反对票,是的,月份格式应该是 MM,但这不是 OP 面临的真正问题,问题是日期分隔符。跨度>
      【解决方案5】:
      string dt = datatime.toshortdatestring`
      

      【讨论】:

        【解决方案6】:

        这是您的解决方案。

        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;
         }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-12
          相关资源
          最近更新 更多