JavaScript中獲取服務(wù)器時(shí)間的函數為什么以1970為中心?
計算機的時(shí)間系統也是一種時(shí)間標準,需要有一個(gè)起點(diǎn)和一個(gè)單位來(lái)衡量時(shí)間的間隔。
計算機在使用時(shí)間戳來(lái)表示時(shí)間時(shí),通常選擇一個(gè)原點(diǎn),然后把該原點(diǎn)作為時(shí)間戳的起點(diǎn),用一個(gè)數字來(lái)表示一個(gè)以秒為單位的時(shí)間值。
使用Date對象創(chuàng )建時(shí)間的方式主要有兩種——傳入一個(gè)日期字符串或傳入一個(gè)UTC時(shí)間戳
UNIX的創(chuàng )始人在需要執行一些任務(wù)時(shí)候想到:計算機不停地運行,而時(shí)間的求和計算也非常方便,所以使用1970年1月1日00:00:00作為的起始時(shí)間,從該時(shí)間算起到某個(gè)時(shí)間點(diǎn)的秒數(時(shí)間戳),是一種既簡(jiǎn)單又好用的時(shí)間表示方法,UNIX在系統中實(shí)現了這種時(shí)間計數方法,并稱(chēng)之為Unix時(shí)間戳。
因此,JavaScript中獲取服務(wù)器時(shí)間的函數也采用了Unix時(shí)間戳作為時(shí)間的基準。通常情況下,服務(wù)器也是使用Unix時(shí)間戳來(lái)表示時(shí)間的,并將其返回給JavaScript,JavaScript再將其解析為Date對象。
綜上所述,JavaScript中獲取服務(wù)器時(shí)間的函數以1970年1月1日 00:00:00 UTC為中心,是因為Unix時(shí)間戳以此作為起點(diǎn),JavaScript繼承了這種時(shí)間戳的方法,成為計算機編程中一種最廣泛使用的時(shí)間表示方式。
總結:
JavaScript中獲取服務(wù)器時(shí)間的函數以1970年1月1日 00:00:00 UTC為中心,是因為Unix時(shí)間戳采用此時(shí)間作為起點(diǎn),并成為計算機科學(xué)中最廣泛使用的時(shí)間表示方式,JavaScript繼承了Unix時(shí)間戳的方法,成為了一種常見(jiàn)的時(shí)間表示方式。
JavaScript中獲取服務(wù)器時(shí)間的函數為什么以1970為中心?
本文將從時(shí)間的本質(zhì)、計算機存儲時(shí)間的方法、JS中時(shí)間類(lèi)型、Unix時(shí)間戳四個(gè)方面來(lái)闡述為什么JavaScript中獲取服務(wù)器時(shí)間的函數以1970年1月1日為中心。
1、時(shí)間的本質(zhì)
時(shí)間是人類(lèi)社會(huì )的發(fā)展和進(jìn)步的產(chǎn)物,人們通過(guò)觀(guān)察自然周期性現象,比如日出日落、四季更迭來(lái)衡量時(shí)間,隨后發(fā)明了各種計時(shí)工具和時(shí)間標準。時(shí)間的本質(zhì)是一種既客觀(guān)存在又難以捕捉的概念,不同的文化、不同的人群、不同的領(lǐng)域都有自己特定的時(shí)間標準。
2、計算機存儲時(shí)間的方法
計算機在內存中存儲時(shí)間時(shí),是將時(shí)間表示成某種數字形式,而不是直接存儲時(shí)間的“小時(shí)、分鐘、秒”等概念。而數字形式的時(shí)間單位通常是秒,這種數字表示時(shí)間的方式就叫做時(shí)間戳。
3、JS中時(shí)間類(lèi)型
在JavaScript中,我們可以使用Date對象來(lái)表示時(shí)間。Date對象封裝了計算機時(shí)間戳還原成的各種形式,比如年、月、日、小時(shí)、分鐘、秒、毫秒等。
4、Unix時(shí)間戳
Unix時(shí)間戳是計算機科學(xué)中常見(jiàn)的一種時(shí)間表示方式,是以1970年1月1日 00:00:00 UTC為參考點(diǎn),記錄的從該點(diǎn)起的秒數。這種方法被廣泛地應用在計算機操作系統、編程語(yǔ)言的時(shí)間表示方式中。