C# 关于时间

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 + "毫秒"); }

 

posted on 2016-08-04 09:08  Geography爱好者  阅读(213)  评论(0编辑  收藏  举报

导航