【问题标题】:convert MM/DD/YYYY to DD/MM/YYYY将 MM/DD/YYYY 转换为 DD/MM/YYYY
【发布时间】:2026-02-02 22:00:01
【问题描述】:

我的日期格式为“MM/DD/YYYY”,例如“09/25/2011”,我如何将其转换为“DD/MM/YYYY”格式。

我的代码是:

private DateTime GetDate()
{
  string d = Convert.ToDateTime("09/25/2011").ToString("dd/MM/yyyy"); //returns 25/09/2011
  DateTime date = DateTime.Parse(d, new CultureInfo("en-GB")); 
  return date;// returns 09/25/2011
}

谢谢

【问题讨论】:

  • 格式无关紧要,除非您不在某处显示它,也许您需要以这种格式获取字符串表示形式?
  • 你在第二行说"returns"是什么意思?
  • 我想要这个日期时间格式。
  • DateTime 没有“格式”。它有一些内部表示。 表示日期/时间的字符串具有格式。
  • 首先告诉我谁投了反对票?先回答这个问题,然后投反对票。

标签: c# .net


【解决方案1】:

您是否尝试过将date 对象格式化为dd/MM/yyyy

string d = Convert.ToDateTime("09/25/2011").ToString("dd/MM/yyyy"); //returns 25/09/2011
DateTime date = DateTime.Parse("09/25/2011", new CultureInfo("en-GB")); // returns 09/25/2011
string d2 = date.ToString("dd/MM/yyyy"); //should return 25/09/2011

【讨论】:

  • 它应该返回 DateTime 而不是字符串。
  • 只有这一行 string d = Convert.ToDateTime("09/25/2011").ToString("dd/MM/yyyy");也给出了结果其他两行不是必需的我想要的结果是日期时间而不是字符串。
  • @Sami - 你是什么意思它应该返回一个 DateTime,你明白你可以简单地将这个例子中的字符串解析为一个 DateTime,并得到你想要的?
  • @Ramhound:是的,我知道,但是当我将其解析为日期时间时,它会抛出错误,即字符串格式不正确。
  • @Sami:您不能将 DateTime 对象分配给字符串。你必须转换它,这就是 ToString()-Method 正在做的事情。如果您不希望它作为字符串,为什么还要在那里有一个字符串?
【解决方案2】:

我建议您的函数只执行以下操作...

private DateTime GetDate()
{
   return DateTime.ParseExact("09/25/2011", "MM/dd/yyyy", null);
}

那么当你使用函数时...

string formattedDate = GetDate().ToString("dd/MM/yyyy");

【讨论】:

  • 这工作正常,我已经这样做了,但是当我在 datetime 中转换它时,它会抛出错误。如何将其转换为日期时间格式?
  • @Sami:我不明白你的意思。你的输入是什么,你想要什么类型/格式作为输出?
  • 我的输入是字符串格式的日期,例如“09/25/2011”,我想将其转换为英国格式的 DateTime。
  • @Sami:所以你只需要使用我的第一段代码——叫做GetDate的函数。一旦有了 DateTime 对象,就没有格式了。您需要担心格式的唯一时间是您需要显示它 - 此时您可以使用我的代码的第二部分来获取英国格式的字符串
【解决方案3】:

请试试这个

DateTime mmddyyy = Convert.ToDateTime(DateTime.ParseExact("11222019", "MMddyyyy", CultureInfo.InvariantCulture));
string dateddMMyyyy = mmddyyy.ToString("dd-MM-yyyy");

【讨论】:

    【解决方案4】:
    string input = Console.ReadLine();
    
     string[] dtarray = input.Split('/');
    
    DateTime datechanged = new DateTime(Convert.ToInt32(dtarray[2]),Convert.ToInt32(dtarray[1]),Convert.ToInt32(dtarray[0]));
    

    【讨论】:

      最近更新 更多