.NET、PHP、MySql、JS中的時間戳你每次是手寫仍是複製?這篇文章讓你一次性搞懂

什麼是時間戳(chuō)?編程

答:時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至如今的總秒數。編程語言

 

爲何時間戳要從1970年01月01日00時00分00秒開始呢?函數

答:不少編程語言起源於UNIX系統,而UNIX系統認爲1970年1月1日0點是時間紀元,因此爲偶們常說的UNIX時間戳是以1970年1月1日0點爲計時起點時間的。更復雜的解釋能夠參考這篇:https://blog.csdn.net/kang19940713/article/details/60466393/spa

 

格林尼治(格林威治)時間是什麼?下圖是:英國倫敦格林尼治天文臺.net

答:世界時即格林尼治平太陽時間,是指格林尼治所在地的標準時間,也是表示地球自轉速率的一種形式。簡單點就是國際標準時間code

 

北京時間與格林威治時間有什麼不同嗎?blog

由於北京處於國際時區劃分中的東八區,同格林威治時間(世界時)整整相差8小時(即北京時間=世界時+8小時),故命名爲「北京時間」。get

 

.NET中的時間戳,長度是:10位class

//須要本身寫函數生成時間戳,ts.TotalSeconds返回的是精確到毫秒的時間戳,咱們用ConvertTo.Int64將精確到毫秒的時間戳轉成精確到秒
public long GetTimeStamp() {
     TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0);
     return Convert.ToInt64(ts.TotalSeconds);
}
//根據北京時間進行生成的時間戳,將小時處:+8個小時便可
public
long GetTimeStamp() { TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 8, 0, 0); return Convert.ToInt64(ts.TotalSeconds); }

 

JS中的時間戳有三種方式im

//JS中的時間戳長度爲:13位,是根據電腦或手機系統時區進行計算的
//精確到秒:1554219552000
var timestamp1 = Date.parse(new Date());
//精確到毫秒:1554219571036
var timestamp2 = (new Date()).valueOf();
//精確到毫秒:1554219579657
var timestamp3 = new Date().getTime();
//精確到秒的轉換
var res = timestamp3.toString().substr(0, 10);

 

PHP中的時間戳,長度是:10位

//PHP中的時間戳精確到秒
echo time();
//輸出:1554219892

 

MySql中的時間戳,長度是:10位

#獲取最新時間戳
SELECT UNIX_TIMESTAMP();
#指定一個固定時間獲取時間戳
SELECT UNIX_TIMESTAMP('2019-04-03 10:16:24');
#時間戳轉成:年月日時分秒格式
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP())

 

其餘語言的時間戳因爲我沒有學過其餘語言因此就不會啦,若是你會留言回覆。

相關文章
相關標籤/搜索