我如何在c#中将字符串转换为日期时间#

时间:2011-03-15 15:47:48

标签: c#

  

可能重复:
  Convert string to datetime Using C#
  Converting String to DateTime C#.net

您好, 我有一个字符串,其中包含日期时间,格式为dd / mm / yyyy hh:mm:ss.ms

即。日期/月/年小时:分钟:秒。毫秒。例如。 18/03/2011 15:16:57.487

如何使用c#

将此字符串转换为日期时间

此致 cmrhema。

7 个答案:

答案 0 :(得分:8)

您可以使用DateTime.Parse或DateTime.ParseExact

  DateTime dateValue;
  string dateString = "2/16/2008 12:15:12 PM";
  try {
     dateValue = DateTime.Parse(dateString);
     Console.WriteLine("'{0}' converted to {1}.", dateString, dateValue);
  }   
  catch (FormatException) {
     Console.WriteLine("Unable to convert '{0}'.", dateString);
  }

对于ParseExact

dateString = "Sun 15 Jun 2008 8:30 AM -06:00";
format = "ddd dd MMM yyyy h:mm tt zzz";
try 
{
     result = DateTime.ParseExact(dateString, format, provider);
     Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}
catch (FormatException) 
{
     Console.WriteLine("{0} is not in the correct format.", dateString);
}

答案 1 :(得分:4)

您正在寻找DateTime.ParseExact

DateTime time = DateTime.ParseExact(
    "18/03/2011 15:16:57.487", 
    "dd/MM/yyyy HH:mm:ss.fff", 
    CultureInfo.InvariantCulture
);

请注意,MM表示月份,mm表示分钟,HH表示24小时制,hh表示12小时制,f表示毫秒。

答案 2 :(得分:2)

如果您知道日期字符串的确切格式,

DateTime.ParseExact就是您想要的。

答案 3 :(得分:2)

这是一种以DateTime所在的格式进行解析并保持毫秒的方法

        string dtString = "18/03/2011 15:16:57.487";

        System.Globalization.CultureInfo culture = System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR");           

        DateTime dt = DateTime.Parse(dtString.Split('.')[0], culture);

        Double milliseconds = Double.Parse(dtString.Split('.')[1]);

        dt = dt.AddMilliseconds(milliseconds);

答案 4 :(得分:1)

答案 5 :(得分:0)

答案 6 :(得分:0)

String str="04031985";

DateTime dt = DateTime.Parse(str);
DateTime dt = DateTime.ParseExact(str, @"MMddyyyy", null);
相关问题