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;
                }
            }
        }
  • 相关阅读:
    将HTTP请求对象转成curl命令行
    图片爬虫实践
    [CF1499E] Chaotic Merge
    [ICPC2020南京I] Interested in Skiing
    [ICPC2018西安J] Philosophical … Balance
    [ICPC2018西安L] Eventual … Journey
    [ICPC2018西安I] Misunderstood … Missing
    [ICPC2018西安D] Deja vu of … Go Players
    [ICPC2018西安F] Interstellar … Fantasy
    [ICPC2020南京L] Let's Play Curling
  • 原文地址:https://www.cnblogs.com/testsec/p/6095945.html
Copyright © 2011-2022 走看看