-4

我试图不格式化ToString(). 我需要格式中的日期本身。我无法对字符串场景执行以下操作:

string str = "02/11/2006";
DateTime dt = new DateTime();
dt = Convert.ToDateTime(str);

现在dt是格式mm/dd/yyyy,但我需要格式yyyy-mm-dd 希望我添加一些意义..huh!

4

4 回答 4

5

不明白你的意思。如果您在 DateTime 变量中有日期,则它是日期的通用表示。如果您希望将其转换回字符串,您可以使用以下命令:

        string str = "02/11/2006";
        DateTime dt = new DateTime();
        dt = Convert.ToDateTime(str);

        var date = dt.ToString("yyyy-MM-dd");
于 2013-10-15T09:55:28.217 回答
3

您将DateTime 结构与其字符串表示混淆了。

如果要使用自定义 DateTime 格式转换字符串,则必须使用DateTime.ParseExact 方法

dt = DateTime.ParseExact(str ,"mm/dd/yyyy",CultureInfo.InvariantCulture);

如果您想要 a 的特定字符串表示,DaTime则必须使用格式字符串

dt.ToString("yyyy-mm-dd")
于 2013-10-15T09:56:19.587 回答
2

DateTime 没有格式(它只是数据)。只有字符串表示有一个。将此添加到您的代码中:

String newFormatedDate = dt.ToString("yyyy-MM-dd");
于 2013-10-15T09:55:58.683 回答
2

我认为您只需要了解 ToString 重载:

DateTime newDate = DateTime.ParseExact("15/01/2001", "dd/MM/yyyy", null);

Console.WriteLine(newDate.ToString("yyyy-MM-dd"));
于 2013-10-15T09:56:04.183 回答