在C#中将字符串解析为“年 - 月 - 日”格式

时间:2010-10-26 12:05:14

标签: c# parsing datetime

我正在使用需要日期时间的网络服务,格式为“2010-12-24”

我要以相同的“方式”解析字符串,但如上所述,它是一个字符串。

string myDate = "2010-12-24";

我如何解析它以使其格式相同?

尝试过使用:DateTime.Parse(mystring);

但这给了我一个冒号分隔的格式。

5 个答案:

答案 0 :(得分:29)

使用DateTime.ParseExact,提供custom format string

DateTime.ParseExact(mystring, "yyyy-MM-dd", CultureInfo.InvariantCulture)

如果无法解析输入字符串,则会抛出异常 - 您可能希望使用DateTime.TryParseExact,如果成功则返回true。

答案 1 :(得分:5)

您可以使用

ToString( formatString )

例如: - dateTimeObj.ToString( "yyyy-MM-dd" ); 其中dateTimeObj是您的DateTime对象

答案 2 :(得分:3)

DateTime time = DateTime.Now;
string format = "yyyy-M-d";
Console.WriteLine(time.ToString(format));

答案 3 :(得分:2)

最有效的方法是使用DateTime.TryParseExact()

DateTime result;
if (DateTime.TryParseExact(input, "yyyy-MM-dd", CultureInfo.CurrentCulture, DateTimeStyles.None, out result))
{
    // use result
}

答案 4 :(得分:1)

试试这个:

date.ToString("yyyy-MM-dd");