美文网首页
常用时间tool

常用时间tool

作者: SeatonLv | 来源:发表于2023-03-07 15:58 被阅读0次
    public class TimeUtil {

        public static string getCurrentTime()
        {
            return DateTime.Now.ToString ("yyyy_MM_dd_HH_mm_ss");
            //DateTime.Now.ToString("yyyy-MM-dd hh_mm_ss")
        }
        public static string getCurrentTimeEx()
        {
            return DateTime.Now.ToString("yyyy年MM月dd日  HH:mm:ss");
            //DateTime.Now.ToString("yyyy-MM-dd hh_mm_ss")
        }
        public static string getCurrentTimeWithMilliSecond()
        {
            string res = "";
            try
            {
                res = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss_fff");
            }
            catch (Exception e)
            {

                Debug.Log("时间异常getCurrentTimeWithMilliSecond:" + e);
            }
            return res;

        }

        public static string getCurrentTimeTight()
        {
            return DateTime.Now.ToString ("yyyyMMddHHmmss");
        }

        public static float getSecondsFromStartup()
        {
            return Time.realtimeSinceStartup;
        }

        public static string formatTime(float second)
        {
            //yyyy-MM-dd HH:mm:ss
            //return new DateTime((long)(second * 10000000)).ToString("HH:mm:ss:ff");//毫秒:c#是fff,java是SSS
            return new DateTime((long)(second * 10000000)).ToString("mm:ss:ff");//毫秒:c#是fff,java是SSS
        }

        public static string formatTime2(float second)
        {
            //yyyy-MM-dd HH:mm:ss
            return new DateTime((long)(second * 10000000)).ToString("HH:mm:ss");//毫秒:c#是fff,java是SSS
            //return new DateTime((long)(second * 10000000)).ToString("mm:ss:ff");//毫秒:c#是fff,java是SSS
        }
        /// <summary>
        /// 获取时间戳
        /// </summary>
        /// <returns></returns>
        public static string GetTimeStampSeconds()
        {
            TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalSeconds).ToString();
        }
        /// <summary>
        /// 获取时间戳
        /// </summary>
        /// <returns></returns>
        public static string GetTimeStampMilliseconds()
        {
            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalMilliseconds).ToString();
        }
        /// <summary>
        /// 获取时间戳
        /// </summary>
        /// <returns></returns>
        public static long GetTimeStampMillisecondsEx()
        {
            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalMilliseconds);
        }
        /// <summary>
        /// 获取时间戳
        /// </summary>
        /// <returns></returns>
        public static long GetTimeStampSecondsEx()
        {
            TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalSeconds);
        }
        /// <summary>
        ///  时间戳[10|13]转为C#格式时间       
        /// </summary>
        public static DateTime StampToDateTime(string stamp)
        {

            if (stamp.Length == 10 || stamp.Length == 13)
            {
                try
                {
                    DateTime StartDateTime = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1,0,0,0,0, DateTimeKind.Utc), TimeZoneInfo.FindSystemTimeZoneById("China Standard Time"));
                    DateTime StartDateTime1;
                    if (stamp.Length == 10)
                    {
                        StartDateTime1 = StartDateTime.AddSeconds(long.Parse(stamp));
                    }
                    else
                    {
                        StartDateTime1 = StartDateTime.AddMilliseconds(long.Parse(stamp));
                    }

                    return StartDateTime1;
                }
                catch (Exception e)
                {

                    return DateTime.Now;
                }
            }
            else
            {
                return DateTime.Now;
            }

        }
        /// <summary>
        /// 获取从0001年1月1日0点到现在的100毫微秒数(实际就是100纳秒)
        /// </summary>
        /// <returns>The current ticks.</returns>
        public static long getCurrentTicks()
        {
            return DateTime.Now.Ticks;
        }

        /// <summary>
        /// 获取经历的时间,单位秒
        /// </summary>
        /// <returns>The time offset.</returns>
        /// <param name="ticksFrom">Ticks from.</param>
        /// <param name="ticksTo">Ticks to.</param>
        public static float getTimeOffset(long ticksFrom, long ticksTo)
        {
            //Debug.Log("ticksTo-ticksFrom:"+(ticksTo-ticksFrom));
            return (ticksTo - ticksFrom) / 10000000f;
        }
    }

相关文章

网友评论

      本文标题:常用时间tool

      本文链接:https://www.haomeiwen.com/subject/ebkbldtx.html