最近call 很多 api ,發現其中一個參數都會使用時間搓(unixTime),會使用unixTime主要是因為有時區的問題。
其實.net framewordk4.6以上 已經有方法可以直接取出
//.net 4.6
long unixTime = ((DateTimeOffset)foo).ToUnixTimeSeconds();
但若是4.6以下並沒有ToUnixTimeSeconds() 這個方法
因此
//.net 4.6 以下
string unixTime = ("" + (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds).Split('.').First();
為什麼要split('.')且取第一個數值是因為算出來的unixTime會有小數點
其實時間搓只需要前10碼,所以將split('.') 來取得前10碼
時間搓介紹 及 查詢時間搓 : https://www.cadch.com/article/timestamp/index.php