C#時間戳和DateTime轉換


時間戳:格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總時間。(中國為東8區 )

Unix時間戳轉DateTime:

 1         /// <summary>
 2         /// Unix時間戳轉DateTime
 3         /// </summary>
 4         /// <param name="timestamp">時間戳</param>
 5         /// <returns></returns>
 6         public static DateTime ConvertToDateTime(string timestamp)
 7         {
 8             DateTime time = DateTime.MinValue;
 9             DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1));
10             if (timestamp.Length==10)        //精確到秒
11             {
12                 time=startTime.AddSeconds(double.Parse(timestamp));
13             }
14             else if (timestamp.Length ==13)   //精確到毫秒
15             {
16                 time = startTime.AddMilliseconds(double.Parse(timestamp));
17             }
18             return time;
19         }

DateTime轉時間戳:

 1         /// <summary>
 2         /// DateTime轉時間戳
 3         /// </summary>
 4         /// <param name="time">DateTime時間</param>
 5         /// <param name="type">0為毫秒,1為秒</param>
 6         /// <returns></returns>
 7         public static string ConvertTimestamp(DateTime time,int type=0)
 8         {
 9             double intResult = 0;
10             DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
11             if (type==0)
12             {
13                 intResult = (time - startTime).TotalMilliseconds;
14             }
15             else if (type == 1)
16             {
17                 intResult = (time - startTime).TotalSeconds;
18             }
19             else
20             {
21                 Console.WriteLine("參數錯誤!");
22             }
23             return Math.Round(intResult, 0).ToString();
24         }

 Tips:注意北京時間和格林威治時間


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM