1. 程式人生 > >C# Unix時間戳和DateTime類型相互轉換

C# Unix時間戳和DateTime類型相互轉換

c# double timezone 時間戳 convert ret mil alt 相互轉換

     /// <summary>
        /// 將Unix時間戳轉換為DateTime類型時間
        /// </summary>
        /// <param name="d">double 型數字</param>
        /// <returns>DateTime</returns>
        public static System.DateTime ConvertIntDateTime(double d)
        {
            System.DateTime time = System.DateTime.MinValue;
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
            time = startTime.AddMilliseconds(d);
            return time;
        }

        /// <summary>
        /// 將c# DateTime時間格式轉換為Unix時間戳格式
        /// </summary>
        /// <param name="time">時間</param>
        /// <returns>long</returns>
        public static long ConvertDateTimeInt(System.DateTime time)
        {
            //double intResult = 0;
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970,1,1,0,0,0,0));
            //intResult = (time- startTime).TotalMilliseconds;
            long t = (time.Ticks - startTime.Ticks)/10000;            //除10000調整為13位
            return t;
        }

C# Unix時間戳和DateTime類型相互轉換