System.Convert.ToDateTime 方法 (String)

方法描述

将日期和时间的指定字符串表示形式转换为等效的日期和时间值。

语法定义(C# System.Convert.ToDateTime 方法 (String) 的用法)

public static DateTime ToDateTime(
	string value
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
value System-String 日期和时间的字符串表示形式。
返回值 System.DateTime value 的值的日期和时间等效项,如果 value 为 null,则为 DateTime.MinValue 的日期和时间等效项。

提示和注释

如果 value 不为 null,则返回值是使用针对当前区域性初始化的 DateTimeFormatInfo 对象中的格式设置信息对 value 调用 DateTime.Parse 方法的结果。 value 参数中所包含的日期和时间必须以 DateTimeFormatInfo 主题中描述的格式之一来表示。 如果 value 为 null,则此方法返回 DateTime.MinValue。

此方法尝试完全分析 value 并避免引发 FormatException。 它用当前日期填充缺少的年月日信息。 如果 value 只包含日期而没有时间,则此方法假定时间为午夜。 value中的所有前导、内部或尾部空白字符均会被忽略。

如果您希望在转换失败时不处理异常,则可以转而调用 DateTime.TryParse 方法。 它将返回 Boolean 值,该值指示转换是否成功。

System.Convert.ToDateTime 方法 (String)例子

下面的示例使用 ToDateTime 方法将日期和时间的各种字符串表示形式转换为 DateTime 值。

using System;

public class ConversionToDateTime
{
   public static void Main()
   {
      string dateString = null;

      // Convert a null string.
      ConvertToDateTime(dateString);

      // Convert an empty string.
      dateString = String.Empty;
      ConvertToDateTime(dateString);

      // Convert a non-date string.
      dateString = "not a date";
      ConvertToDateTime(dateString);

      // Try to convert various date strings.
      dateString = "05/01/1996";
      ConvertToDateTime(dateString);
      dateString = "Tue Apr 28, 2009";
      ConvertToDateTime(dateString);
      dateString = "Wed Apr 28, 2009";
      ConvertToDateTime(dateString);
      dateString = "06 July 2008 7:32:47 AM";
      ConvertToDateTime(dateString);
      dateString = "17:32:47.003";
      ConvertToDateTime(dateString);
      // Convert a string returned by DateTime.ToString("R").
      dateString = "Sat, 10 May 2008 14:32:17 GMT";
      ConvertToDateTime(dateString);
      // Convert a string returned by DateTime.ToString("o").
      dateString = "2009-05-01T07:54:59.9843750-04:00";
      ConvertToDateTime(dateString);
   }

   private static void ConvertToDateTime(string value)
   {
      DateTime convertedDate;
      try {
         convertedDate = Convert.ToDateTime(value);
         Console.WriteLine("'{0}' converts to {1} {2} time.", 
                           value, convertedDate, 
                           convertedDate.Kind.ToString());
      }
      catch (FormatException) {
         Console.WriteLine("'{0}' is not in the proper format.", value);
      }
   }
}
// The example displays the following output:
//    '' converts to 1/1/0001 12:00:00 AM Unspecified time.
//    '' is not in the proper format.
//    'not a date' is not in the proper format.
//    '05/01/1996' converts to 5/1/1996 12:00:00 AM Unspecified time.
//    'Tue Apr 28, 2009' converts to 4/28/2009 12:00:00 AM Unspecified time.
//    'Wed Apr 28, 2009' is not in the proper format.
//    '06 July 2008 7:32:47 AM' converts to 7/6/2008 7:32:47 AM Unspecified time.
//    '17:32:47.003' converts to 5/30/2008 5:32:47 PM Unspecified time.
//    'Sat, 10 May 2008 14:32:17 GMT' converts to 5/10/2008 7:32:17 AM Local time.
//    '2009-05-01T07:54:59.9843750-04:00' converts to 5/1/2009 4:54:59 AM Local time.

异常

异常 异常描述
FormatException value 不是格式正确的日期和时间字符串。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。