首页 >后端开发 >C++ >如何在 C# 中将字符串转换为 DateTime 对象?

如何在 C# 中将字符串转换为 DateTime 对象?

Patricia Arquette
Patricia Arquette原创
2024-12-29 08:08:09840浏览

How to Convert a String to a DateTime Object in C#?

在 C# 中将字符串转换为 DateTime

在 C# 中,有多种方法可以将日期和时间的字符串表示形式转换为 DateTime目的。一种常见的情况是将格式为“yyyyMMddHHmmss”的字符串转换为 DateTime 对象。在处理存储在数据库或其他基于文本的格式中的日期和时间时,经常会遇到这种格式。

使用 DateTime.ToString()

将字符串转换为将“yyyyMMddHHmmss”格式转换为 DateTime 对象,可以使用 DateTime.ToString() 方法。下面是一个示例:

string strDate = "20090530123001";
DateTime dateTime = DateTime.ParseExact(strDate, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);

在此代码中,ParseExact 方法采用要转换的字符串、所需的格式字符串以及用于处理日期和时间转换的区域性信息。 InvariantCulture 用于确保转换与区域性无关。

使用 Convert.ToDateTime()

或者,您可以使用 Convert.ToDateTime() 方法将字符串转换为 DateTime 对象。但是,此方法要求字符串采用特定格式。例如:

string strDate = "2009-05-30 12:30:01";
DateTime dateTime = Convert.ToDateTime(strDate);

在本例中,字符串的格式为“yyyy-MM-dd HH:mm:ss”,Convert.ToDateTime() 方法支持该格式。

处理格式异常

如果输入字符串不是预期的格式,DateTime.ParseExact() 和 Convert.ToDateTime() 都会抛出 FormatException。如果您想优雅地捕获这些异常,可以分别使用 TryParseExact() 或 TryParse 方法。例如:

DateTime dateTime;
if (DateTime.TryParseExact(strDate, "yyyyMMddHHmmss", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
{
    // Conversion successful
}
else
{
    // Conversion failed
}

结论

将字符串转换为 DateTime 对象是 C# 中的常见操作。通过使用适当的转换方法并正确处理格式异常,您可以确保日期处理准确且稳健。

以上是如何在 C# 中将字符串转换为 DateTime 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn