C#时间戳与日期时间格式互转

参考

C#时间戳与日期时间DateTime格式互转

 17位毫秒级别的日期转换

//毫秒级别 17位
string timestamp =DateTime.Now.ToString("yyyyMMddHHmmssfff"); --20220609145900458

13位时间戳转日期格式(yyyy-MM-dd HH:mm:ss)


        /// <summary>
        /// 13位时间戳转 日期格式   1652338858000 -> 2022-05-12 03:00:58
        /// </summary>
        /// <param name="timestamp"></param>
        /// <returns></returns>
        public static DateTime GetDateTimeMilliseconds(long timestamp)
        {
            long begtime = timestamp * 10000;
            DateTime dt_1970 = new DateTime(1970, 1, 1, 8, 0, 0);
            long tricks_1970 = dt_1970.Ticks;//1970年1月1日刻度
            long time_tricks = tricks_1970 + begtime;//日志日期刻度
            DateTime dt = new DateTime(time_tricks);//转化为DateTime
            return dt;
        }

获取13位时间戳

        /// <summary>
        /// 13位时间戳
        /// </summary>
        /// <returns></returns>
        public static long GetTimestamp()
        {
            TimeSpan ts = DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1);
            return (long)ts.TotalMilliseconds;
        }

返回 int类型的时间戳

        /// <summary>
        /// 获取当前时间戳 返回int 
        /// </summary>
        /// <returns></returns>
        public int GetTimeStamptoint()
        {
            TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            int sjc = (int)Convert.ToInt64(ts.TotalSeconds);
            return sjc;
        }


版权声明:本文为qq_27524147原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。