根据时间(秒数)获得两段时间的间隔 时间戳转换为日期

得到两段时间差转为int类型,并作为参数传入下面的方法之中

                    TimeSpan ts = DataConvert.getTime(Model.outTime).Subtract(DataConvert.getTime(Model.inTime));
                    int sec = (int)ts.TotalSeconds;
                    string parkMins= parseTimeSeconds(sec);

下面的方法需要传入的参数为秒数也可以通过两段时间相减取得

  ///<summary>
        ///由秒数得到日期几天几小时。。。
        ///</summary
        ///<param name="t">秒数</param>
        ///<param name="type">0:转换后带秒,1:转换后不带秒</param>
        ///<returns>几天几小时几分几秒</returns>
        public static string parseTimeSeconds(int t, int type = 1)
        {
            string r = "";
            int day, hour, minute, second;
            if (t >= 86400) //天,
            {
                day = Convert.ToInt16(t / 86400);
                hour = Convert.ToInt16((t % 86400) / 3600);
                minute = Convert.ToInt16((t % 86400 % 3600) / 60);
                second = Convert.ToInt16(t % 86400 % 3600 % 60);
                if (type == 0)
                    r = day + ("") + hour + ("小时") + minute + ("") + second + ("");
                else
                    r = day + ("") + hour + ("小时") + minute + ("");

            }
            else if (t >= 3600)//时,
            {
                hour = Convert.ToInt16(t / 3600);
                minute = Convert.ToInt16((t % 3600) / 60);
                second = Convert.ToInt16(t % 3600 % 60);
                if (type == 0)
                    r = hour + ("小时") + minute + ("") + second + ("");
                else
                    r = hour + ("小时") + minute + ("");
            }
            else if (t >= 60)//
            {
                minute = Convert.ToInt16(t / 60);
                second = Convert.ToInt16(t % 60);
                r = minute + ("") + second + ("");
            }
            else
            {
                second = Convert.ToInt16(t);
                r = second + ("");
            }
            return r;
        }

时间戳转换成为日期

        /// <summary>  
        /// 时间戳Timestamp转换成日期  
        /// </summary>  
        /// <param name="timeStamp"></param>  
        /// <returns></returns>  
        private static string ConvertDateTime(long timeStamp)
        {
            System.DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));
            long lTime = long.Parse(timeStamp + "0000");
            TimeSpan toNow = new TimeSpan(lTime);
            DateTime targetDt = dtStart.Add(toNow);
            return targetDt.ToString("yyyy-MM-dd HH:mm:ss");
        }

 

posted @ 2021-10-19 13:24  咳咳Pro  阅读(372)  评论(0)    收藏  举报