在C#.net中将字符串转换为datetime

时间:2010-12-05 20:12:34

标签: c# datetime

有人可以帮我转换字符串14/04/2010 10:14:49.PM到C#.net的日期时间而不会丢失时间格式吗?

6 个答案:

答案 0 :(得分:5)

var date = DateTime.ParseExact(@"14/04/2010 10:14:49.PM", @"dd/MM/yyyy hh:mm:ss.tt", null);

对于字符串表示,请使用

date.ToString(@"dd/MM/yyyy hh:mm:ss.tt");

您也可以像这样创建扩展方法:

    public enum MyDateFormats
    {
        FirstFormat, 
        SecondFormat
    }

    public static string GetFormattedDate(this DateTime date, MyDateFormats format)
    {
       string result = String.Empty;
       switch(format)  
       {
          case MyDateFormats.FirstFormat:
             result = date.ToString("dd/MM/yyyy hh:mm:ss.tt");
           break;
         case MyDateFormats.SecondFormat:
             result = date.ToString("dd/MM/yyyy");
            break;
       }

       return result;
    }

答案 1 :(得分:3)

DateTime result =DateTime.ParseExact(@"14/04/2010 10:14:49.PM", @"dd/MM/yyyy HH:mm:ss.tt",null);

您现在可以看到格式提供程序的PM或AM和null值

答案 2 :(得分:1)

DateTime.ParseExact(@"14/04/2010 10:14:49.PM", @"dd/MM/yyyy hh:mm:ss");

答案 3 :(得分:0)

DateTime.Parse(@"14/04/2010 10:14:49.PM");

应该可以,而不是在VS附近,所以我无法尝试

答案 4 :(得分:0)

使用转换功能

using System;
using System.IO;

namespace stackOverflow
{
    class MainClass
    {
        public static void Main (string[] args)
        {

            Console.WriteLine(Convert.ToDateTime("14/04/2010 10:14:49.PM"));
            Console.Read();

        }
    }
}

答案 5 :(得分:0)

我建议使用DateTime.ParseExact,因为根据当前线程区域设置,Parse方法的行为略有不同。

DateTime.ParseExact(yourString,
    "dd/MM/yyyy hh:mm:ss.tt", null)