在 C# 中将字符串转换为 DateTime
在 C# 中将字符串日期转换为 DateTime 对象可能是一项具有挑战性的任务,尤其是在处理非标准格式。其中一种格式是“yyyyMMddHHmmss”,它表示没有分隔符的日期。
问题:
考虑以下字符串日期:
20090530123001
该字符串是使用 dateTime.ToString("yyyyMMddHHmmss", CultureInfo.InvariantCulture)。我们如何将其转换回正确的 DateTime 对象?
解决方案:
最简单的方法是使用 DateTime.ParseExact 方法。该方法需要三个参数:
对于给定的字符串,我们可以使用以下代码:
DateTime dateTime = DateTime.ParseExact("20090530123001", "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
这将成功转换将字符串转换为 DateTime 对象。
处理无效格式:
但是,如果字符串可能并不总是采用正确的格式,则使用 ParseExact 可能会导致 FormatException。为了避免这种情况,您可以改用 DateTime.TryParseExact 方法。该方法采用与 ParseExact 相同的参数,但返回一个布尔值,指示转换是否成功。
以下代码演示了如何使用 TryParseExact:
DateTime dateTime; if (DateTime.TryParseExact("20090530123001", "yyyyMMddHHmmss", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime)) { // Conversion successful } else { // Conversion failed }
以上是如何在 C# 中将'yyyyMMddHHmmss”字符串转换为 DateTime 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!