me.textbox1.text=2009-09-09 09:00:00 (要求到达的时间)me.textbox2.text=25:09:07(途中需要时间)求需要出发的时间:me.textbox3.text= ?? (格式:yyyy-MM-dd hh:mm:ss)我用下面的代码,得到的是时间搓timespan的格式,如何才能得到yyyy-MM-dd hh:mm:ss这样格式?
还是有其他的办法可以一步到位?       Dim dt As DateTime = DateTime.Parse(me.textbox1.text)
       Dim ts As DateTime = Convert.ToDateTime(me.textbox2.text)       me.textbox3.text = dt.Subtract(ts).ToString

解决方案 »

  1.   

    代码如下:            DateTime dt = Convert.ToDateTime("2009-09-09 09:00:00");
                //25:09:07
                TimeSpan ts = new TimeSpan(25, 09, 07);
                DateTime dtStartTime = dt - ts;
                string ret = dtStartTime.ToString("yyyy-MM-dd hh:mm:ss");
      

  2.   

    一个个把时间取出来 先取YYYY 然后计算 再取MM 计算 
      

  3.   

    dtStartTime.ToString("yyyy-MM-dd hh:mm:ss");
      

  4.   

    恩,楼上的那些方法都能基本实现了,tostring()来格式化时间非常好,括号中随便你怎么设置格式,比如ToString("yyyy-MM-dd hh:mm:ss"); ToString("yyyy-MM-dd");ToString("yyyy年MM月dd日");
    等等…   
      

  5.   

    DateTime是时间 TimeSpan是时间间隔时间-时间=时间间隔
    时间-时间间隔=时间
      

  6.   

                DateTime dt1 = new DateTime(2009, 9, 9, 9, 0, 0);
                DateTime timeStart = dt1.Subtract(new TimeSpan(25, 9, 7));
                Console.WriteLine(timeStart.ToString("yyyy-MM-dd hh:mm:ss"));
                //输出 2009-9-8 7:50:53
      

  7.   

    依照LZ的意思
    TimeSpan的TryParse方法你自己再看看有没有办法转换"25:09:07"            string strTimeEnd = "2009-09-09 09:00:00";
                DateTime dtEnd;
                TimeSpan timeSpan = new TimeSpan(25, 9, 7);
                DateTime timeStart;
                if (DateTime.TryParse(strTimeEnd, out dtEnd))
                {//很可惜TimeSpan的TryParse方法不能进行"25:09:07"格式的转换
                    timeStart = dtEnd.Subtract(timeSpan);
                    Console.WriteLine(timeStart.ToString("yyyy-MM-dd hh:mm:ss"));
                }
                //输出 2009-9-8 7:50:53
      

  8.   


    DateTime.ToString("yyyy-MM-dd hh:mm:ss")
      

  9.   


    查了MSDN,是可以的,参见 TimeSpan.TryParse 方法