国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

javascript關(guān)于“時(shí)間”的一次探索

2024-05-06 15:36:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

原文對(duì) ISO 8601 時(shí)間格式中 T 和 Z 的表述有一些錯(cuò)誤,我已經(jīng)對(duì)原文進(jìn)行了一些修訂,抱歉給大家造成誤解。

最近使用 sequelize 過(guò)程中發(fā)現(xiàn)一個(gè)“奇怪”的問(wèn)題,將某個(gè)時(shí)間插入到表中后,通過(guò) sequelize 查詢(xún)出來(lái)的時(shí)間和通過(guò) mysql 命令行工具查詢(xún)出來(lái)的時(shí)間不一樣。非常困惑,于是研究了下,下面是學(xué)習(xí)成果。

基本概念

我們先來(lái)介紹一些可能當(dāng)年在地理課上學(xué)習(xí)過(guò)的基本概念。

說(shuō)起來(lái),時(shí)間真是一個(gè)神奇的東西。以前人們通過(guò)觀察太陽(yáng)的位置來(lái)決定時(shí)間(比如:使用日晷),這就使得不同經(jīng)緯度的地區(qū)時(shí)間是不一樣的。后來(lái)人們進(jìn)一步規(guī)定以子午線為中心,向東西兩側(cè)延伸,每 15 度劃分一個(gè)時(shí)區(qū),剛好是 24 個(gè)時(shí)區(qū)。然后因?yàn)橐惶煊?24 小時(shí),地球自轉(zhuǎn)一圈是 360 度,360 度 / 24 小時(shí) = 15 度/小時(shí),所以每差一個(gè)時(shí)區(qū),時(shí)間就差一個(gè)小時(shí)。

最開(kāi)始的標(biāo)準(zhǔn)時(shí)間(子午線中心處的時(shí)間)是英國(guó)倫敦的皇家格林威治天文臺(tái)的標(biāo)準(zhǔn)時(shí)間(因?yàn)樗鼊偤迷诒境踝游缇€經(jīng)過(guò)的地方),這就是我們常說(shuō)的 GMT(Greenwich Mean Time)。然后其他各個(gè)時(shí)區(qū)根據(jù)標(biāo)準(zhǔn)時(shí)間確定自己的時(shí)間,往東的時(shí)區(qū)時(shí)間晚(表示為 GMT+hh:mm)、往西的時(shí)區(qū)時(shí)間早(表示為 GMT-hh:mm)。比如,中國(guó)標(biāo)準(zhǔn)時(shí)間是東八區(qū),我們的時(shí)間就總是比 GMT 時(shí)間晚 8 小時(shí),他們?cè)诹璩?1 點(diǎn),我們已經(jīng)是早晨 9 點(diǎn)了。

但是 GMT 其實(shí)是根據(jù)地球自轉(zhuǎn)、公轉(zhuǎn)計(jì)算的(太陽(yáng)每天經(jīng)過(guò)英國(guó)倫敦皇家格林威治天文臺(tái)的時(shí)間為中午 12 點(diǎn)),不是非常準(zhǔn)確,于是后面提出了根據(jù)原子鐘計(jì)算的標(biāo)準(zhǔn)時(shí)間 UTC(Coordinated Universal Time)。

一般情況下,GMT 和 UTC 可以互換,但是實(shí)際上,GMT 是一個(gè)時(shí)區(qū),而 UTC 是一個(gè)時(shí)間標(biāo)準(zhǔn)。

可以在這里看到所有的時(shí)區(qū):https://www.timeanddate.com/time/map/

所以,當(dāng)我們“展示”某個(gè)時(shí)間時(shí),明確時(shí)區(qū)就變得非常重要了。不然你只說(shuō)現(xiàn)在是 2016-01-11 19:30:00,然后不告訴我時(shí)區(qū),我其實(shí)是沒(méi)法準(zhǔn)確知道時(shí)間的(當(dāng)然,我可以認(rèn)為這個(gè)時(shí)間是我所在時(shí)區(qū)的當(dāng)?shù)貢r(shí)間)。如果你說(shuō)現(xiàn)在是 2016-01-11 19:30:00 GMT+0800,那我就知道這個(gè)時(shí)間是東八區(qū)的時(shí)間了。如果我在東八區(qū),那時(shí)間就是 19:30,如果我在 GMT 時(shí)區(qū),那時(shí)間就是 11:30(減掉 8 小時(shí))。

JavaScript 中的“時(shí)間”

我們現(xiàn)在來(lái)介紹下 JavaScript 中的“時(shí)間”,包括:Date、Date.parse、Date.UTC、Date.now。

注:下面的代碼示例可以在 node shell 里面運(yùn)行,如果你運(yùn)行的時(shí)候結(jié)果和下面的不一致,那可能咱們不在一個(gè)時(shí)區(qū):)

Date 構(gòu)造器

構(gòu)造時(shí)間的方法有下面幾種:

new Date();   // 當(dāng)前時(shí)間new Date(value);  // 自 1970-01-01 00:00:00 UTC 經(jīng)過(guò)的毫秒數(shù)new Date(dateString); // 時(shí)間字符串new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 抚顺县| 仁布县| 华容县| 吴旗县| 松滋市| 迁西县| 丰都县| 黄陵县| 宁河县| 循化| 灌云县| 吉首市| 长沙县| 柳林县| 尼玛县| 衡山县| 衡水市| 合山市| 来安县| 天柱县| 临潭县| 涟水县| 临沂市| 贺州市| 囊谦县| 班玛县| 米泉市| 汽车| 吉木乃县| 晋城| 北京市| 深泽县| 社旗县| 兴安盟| 滨州市| 丰城市| 崇左市| 海宁市| 淮北市| 香港 | 蓝山县|