比如将Tue Oct 10 20:15 AM 转换为2006-10-10 20:15:00
转完以后能够实现时间相加 比如加上一个 10 hours, 25 minutes

解决方案 »

  1.   

    string dateStr = "Tue Oct 10 20:15 AM";
    dateStr = Convert.toDateTime(dateStr).toString("yyyy-MM-dd HH:mm:ss");
      

  2.   

    DateTime dt = Convert.ToDateTime("Tue Oct 10 20:15 AM");
                dt = dt.AddHours(10);
                dt = dt.AddMinutes(25);
      

  3.   

    如楼上,转化成DateTime类型后
    可以调用其方法如AddHours,AddMinutes等来加减计算时间
      

  4.   

    这个转换跟文化有关,所以,需要知道当初生成这种日期格式的文化是什么。当然,你也可以自己生成一个符合这种格式的文化。
    string s = "2003-Jan-22 01:11:12 pm";
    CultureInfo culture = new CultureInfo("en-US");//这里使用美国英语的格式
    DateTime dt = Convert.ToDateTime(s, culture);
    Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss"));
    dt = dt.AddHours(10);
    dt = dt.AddMinutes(25);关于文化,参见msdn
      

  5.   

    按照大家给的方法我试了一下。结果出现错误
    我的代码如下
    DateTime dt = Convert.ToDateTime(TI.StartTime);
    //Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss"));
    string[] HourSplit = timeSplit[0].Split(' ');
    dt = dt.AddHours(Convert.ToInt32(HourSplit[0]));
    string[] MinuteSplit = timeSplit[1].Split(' ');
    dt = dt.AddMinutes(Convert.ToInt32(MinuteSplit[0]));
    TI.EndTime = dt.ToString("yyyy-MM-dd HH:mm:ss");
    其中TI.StartTime为string类型。取得的值为:"Wed Oct 11 12:00 AM"
    运行过程中报错为: String was not recognized as a valid DateTime because the day of week was incorrect.
    PS:编译可以通过
      

  6.   

    不可能吧
    Tue Oct 10 20:15 AM
    Tue是星期二
    Oct是10月
    8点15分
    AM表示上午
    这是一个短的时间格式
    并不包含年份信息,怎么转为时间?一个时间可以输出为这样,但不等于可以逆向转回去~
      

  7.   

    我将TI.StartTime改为Thu, 31 Aug 2006 21:00:00以后还是出错
    报错为 : Input string was not in a correct format.