zoukankan      html  css  js  c++  java
  • C# 时间与时间戳互转 13位

    /// <summary>
            /// 获取时间戳
            /// </summary>
            /// <returns></returns>
            public static string GetTimeStamp(System.DateTime time)
            {
                long ts = ConvertDateTimeToInt(time);
                return ts.ToString();
            }
            /// <summary>  
            /// 将c# DateTime时间格式转换为Unix时间戳格式  
            /// </summary>  
            /// <param name="time">时间</param>  
            /// <returns>long</returns>  
            public static long ConvertDateTimeToInt(System.DateTime time)
            {
                System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));
                long t = (time.Ticks - startTime.Ticks) / 10000;   //除10000调整为13位      
                return t;
            }
            /// <summary>        
            /// 时间戳转为C#格式时间        
            /// </summary>        
            /// <param name=”timeStamp”></param>        
            /// <returns></returns>        
            private DateTime ConvertStringToDateTime(string timeStamp)
            {
                DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
                long lTime = long.Parse(timeStamp + "0000");
                TimeSpan toNow = new TimeSpan(lTime);
                return dtStart.Add(toNow);
            } 
     /// <summary>
        /// 时间戳
        /// </summary>
        public class TimeHelp
        {
            /// <summary>
            /// 获取时间戳
            /// </summary>
            /// <returns></returns>
            public static string GetTimeStamp(System.DateTime time,int length=13)
            {
                long ts = ConvertDateTimeToInt(time);
                return ts.ToString().Substring(0,length);
            }
            /// <summary>  
            /// 将c# DateTime时间格式转换为Unix时间戳格式  
            /// </summary>  
            /// <param name="time">时间</param>  
            /// <returns>long</returns>  
            public static long ConvertDateTimeToInt(System.DateTime time)
            {
                System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));
                long t = (time.Ticks - startTime.Ticks) / 10000;   //除10000调整为13位      
                return t;
            }
            /// <summary>        
            /// 时间戳转为C#格式时间        
            /// </summary>        
            /// <param name=”timeStamp”></param>        
            /// <returns></returns>        
            public static DateTime ConvertStringToDateTime(string timeStamp)
            {
                DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
                long lTime = long.Parse(timeStamp + "0000");
                TimeSpan toNow = new TimeSpan(lTime);
                return dtStart.Add(toNow);
            }
    
            /// <summary>
            /// 时间戳转为C#格式时间10位
            /// </summary>
            /// <param name="timeStamp">Unix时间戳格式</param>
            /// <returns>C#格式时间</returns>
            public static DateTime GetDateTimeFrom1970Ticks(long curSeconds)
            {
                DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
                return dtStart.AddSeconds(curSeconds);
            }
    
            /// <summary>
            /// 验证时间戳
            /// </summary>
            /// <param name="time"></param>
            /// <param name="interval">差值(分钟)</param>
            /// <returns></returns>
            public static bool IsTime(long time, double interval)
            {
                DateTime dt = GetDateTimeFrom1970Ticks(time);
                //取现在时间
                DateTime dt1 = DateTime.Now.AddMinutes(interval);
                DateTime dt2 = DateTime.Now.AddMinutes(interval * -1);
                if (dt > dt2 && dt < dt1)
                {
                    return true;
                }
                else {
                    return false;
                }
            }
    
            /// <summary>
            /// 判断时间戳是否正确(验证前8位)
            /// </summary>
            /// <param name="time"></param>
            /// <returns></returns>
            public static bool IsTime(string time)
            {
                string str = GetTimeStamp(DateTime.Now,8);
                if (str.Equals(time))
                {
                    return true;
                }
                else {
                    return false;
                }
            }
        }
  • 相关阅读:
    【Educational Codeforces Round 101 (Rated for Div. 2) C】Building a Fence
    【Codeforces Round #698 (Div. 2) C】Nezzar and Symmetric Array
    【Codeforces Round #696 (Div. 2) D】Cleaning
    【Codeforces Round #696 (Div. 2) C】Array Destruction
    【Educational Codeforces Round 102 D】Program
    【Educational Codeforces Round 102 C】No More Inversions
    【Good Bye 2020 G】Song of the Sirens
    【Good Bye 2020 F】Euclid's nightmare
    使用mobx入门
    requestAnimationFrame 控制速度模拟setinterval
  • 原文地址:https://www.cnblogs.com/testsec/p/6095945.html
Copyright © 2011-2022 走看看