1、2016/7/8 00:10:10 转换成 2016-07-08T 00:10:10
在用VB动态调用WebService的时候,传入的时间格式为2016/7/8 00:10:10,导致调用出错,需要转换成2016-07-08T 00:10:10格式的。
PS:类似时间里面的07,0不能省略
C#代码如下:
/// <summary> /// 将时间转换成指定的形式 /// </summary> /// <param name="dtime">需要转换的时间</param> /// <returns>返回的是时间字符串</returns> private string ConverTime(DateTime dtime) { string sm, sd,sh,smin,ss; int m, d,h,min,s; try { m = dtime.Month; d = dtime.Day; h = dtime.Hour; min = dtime.Minute; s= dtime.Second; } catch { return ""; } if (m < 10) //月 sm = "0" + Convert.ToString(m); else sm = Convert.ToString(m); if (d < 10)//天 sd = "0" + Convert.ToString(d); else sd = Convert.ToString(d); if (h < 10)//小时 sh = "0" + Convert.ToString(h); else sh = Convert.ToString(h); if (min < 10)//分钟 smin = "0" + Convert.ToString(min); else smin = Convert.ToString(min); if (s < 10)//秒 ss = "0" + Convert.ToString(s); else ss = Convert.ToString(s); string newtime = dtime.Year + "-" + sm + "-" + sd + "T" + sh + ":" + smin + ":" + ss; return newtime; }
2、计算时间差
private string CoutTime(DateTime couttime) { TimeSpan ts1 = new TimeSpan(couttime.Ticks); TimeSpan ts2 = new TimeSpan(DateTime.Now.Ticks); TimeSpan ts3 = ts1.Subtract(ts2).Duration(); return ts3.Seconds + "秒" + ts3.Milliseconds + "毫秒";
//System.Diagnostics.Debug.WriteLine(ts3.Seconds + "秒" + ts3.Milliseconds + "毫秒"); }