【问题标题】:changing date format from dd/MM/yyyy to MM/dd/yyyy [duplicate]将日期格式从 dd/MM/yyyy 更改为 MM/dd/yyyy [重复]
【发布时间】:2010-05-21 12:40:01
【问题描述】:

我有一个日期选择器,它以 dd/MM/yyyy 格式显示日期(我知道我可以自行更改,但客户希望这样)并且在数据库中它的格式为 MM/dd/yyyy,所以我确实想转换以这种方式。

例如在文本框中 23/09/2010 并在 c 中将其转换为 mm/dd/yyyy(txtbo1.text)

问候 吲哚酚。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    如果你真的将日期作为字符串存储在DB中,可以通过以下方式转换字符串格式:

    DateTime.ParseExact(dateTimeString, "dd/MM/yyyy", null).ToString("MM/dd/yyyy")
    

    【讨论】:

    • 所以@David M 解决方案更好。可以按照我所说的进行解析,但您不需要将 DateTime 作为不同的字符串(您不需要执行 ToString())。
    • DateTime dateTime = DateTime.ParseExact(dateTimeString, "dd/MM/yyyy", null);现在您需要获取该日期时间并将其作为 SQL 命令的参数。如果你想直接写在 SQL 字符串中,你可能还需要做 dateTime.ToString("MM/dd/yyyy");
    • 非常感谢先生。
    【解决方案2】:

    如果您将日期存储在数据库中,您应该将它们存储在具有适当数据类型的字段中。格式不应该出现在其中。您应该将 dd/MM/yyyy 文本解析为 DateTime 变量,并将其作为日期/时间类型的参数传递给您的数据库。

    【讨论】:

      【解决方案3】:

      使用正则表达式:

          public static String DMYToMDY(String input)
          {
              return Regex.Replace(input,
              @"\b(?<day>\d{1,2})/(?<month>\d{1,2})/(?<year>\d{2,4})\b",
              "${month}/${day}/${year}");
          }
      

      【讨论】:

        【解决方案4】:
         using System.Globalization;
        
         string dt = DateTime.Parse(txtDate.Text.Trim()).ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);
        

        这个也可以

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-03-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多