国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

NTP時(shí)間戳轉(zhuǎn)換成UTC時(shí)間的過(guò)程

Atom / 2230人閱讀

摘要:時(shí)間,格林威治時(shí)間年月日北京時(shí)間年月日起至現(xiàn)在的總秒數(shù),表示為。協(xié)議中有四個(gè)時(shí)間戳,本文不討論這四個(gè)時(shí)間戳的區(qū)別,只簡(jiǎn)單的拿其中一個(gè)時(shí)間戳報(bào)文分析如何轉(zhuǎn)換成時(shí)間。例如一段時(shí)間戳報(bào)文為,下面我們一起學(xué)習(xí)該時(shí)間戳是如何轉(zhuǎn)換成時(shí)間的。

? ? ? ? 前言:最近在學(xué)習(xí)時(shí)頻產(chǎn)品時(shí)鐘對(duì)時(shí)協(xié)議,在學(xué)習(xí)NTP協(xié)議時(shí)一直對(duì)協(xié)議報(bào)文中的時(shí)間戳轉(zhuǎn)換存在疑問(wèn),通過(guò)各種搜集資料、自我理解后終于對(duì)NTP時(shí)間戳有了一個(gè)具體的認(rèn)識(shí);發(fā)現(xiàn)現(xiàn)階段網(wǎng)上的免費(fèi)資料里對(duì)整個(gè)轉(zhuǎn)換沒(méi)有寫的很仔細(xì),導(dǎo)致理解比較難,接下來(lái)我針對(duì)我學(xué)習(xí)后的理解,詳細(xì)地講一下NTP時(shí)間戳是如何轉(zhuǎn)換成UTC時(shí)間的。(若有不對(duì)的地方,歡迎指出,共同進(jìn)步)

? ? ? ? 正文:

? ? ? ? 首先簡(jiǎn)單講一下NTP協(xié)議,相信搜到這篇文章的對(duì)NTP是有一定了解的,想進(jìn)一步對(duì)NTP中某些字段定義學(xué)習(xí)深入一點(diǎn)。NTP(Network Time Protocol)網(wǎng)絡(luò)時(shí)間協(xié)議基于UDP,用于網(wǎng)絡(luò)時(shí)間同步的協(xié)議,使網(wǎng)絡(luò)中的計(jì)算機(jī)時(shí)鐘同步到UTC,再配合各個(gè)時(shí)區(qū)的偏移調(diào)整就能實(shí)現(xiàn)精準(zhǔn)同步對(duì)時(shí)功能。

? ? ? ?在理解轉(zhuǎn)換之前先講一個(gè)NTP時(shí)間戳和UTC時(shí)間的定義(注意兩種時(shí)間戳的起始時(shí)間不同,相差70年):

①NTP時(shí)間戳用一個(gè)64bit無(wú)符號(hào)定點(diǎn)數(shù)表示,它表示自從1990年1月1日00:00:00到現(xiàn)在過(guò)了多少秒。64bit分為兩部分,高32bit(MSW)表示整數(shù)部分,單位是秒;低32bit(LSW)表示小數(shù)部分,單位是232皮秒。

②UTC時(shí)間,格林威治時(shí)間1970年1月1日00:00:00(北京時(shí)間1970年1月1日08:00:00)起至現(xiàn)在的總秒數(shù),表示為1970-01-01 00:00:00 UTC。程序里習(xí)慣叫做UTC時(shí)間戳。

? ? ? ? NTP協(xié)議中有四個(gè)時(shí)間戳,本文不討論這四個(gè)時(shí)間戳的區(qū)別,只簡(jiǎn)單的拿其中一個(gè)NTP時(shí)間戳報(bào)文分析如何轉(zhuǎn)換成UTC時(shí)間。例如一段時(shí)間戳報(bào)文為“D9 FD 84 95 94 F8 59 7C”,下面我們一起學(xué)習(xí)該NTP時(shí)間戳是如何轉(zhuǎn)換成UTC時(shí)間的。

? ? ? ? 先處理MSW高位32bit“D9 FD 84 95”,將其轉(zhuǎn)換為10進(jìn)制3657270421,由于NTP時(shí)間和UTC時(shí)間起始不同,需要將該時(shí)間減少70年(1900年到1970年)2208988800(0x83AA7E80),則為1448281621,使用UTC轉(zhuǎn)換器為2015-11-23 12:27:01 UTC(格林威治時(shí)間),2015-11-23 20:27:01 UTC+8(北京時(shí)間 UTC+8)

? ? ? ? 然后再處理LSW低位32bit“94 F8 59 7C”,在處理LSW之前先要了解1LSW=232ps是怎么來(lái)的,1 second =1,000,000,000,000 picoseconds,這個(gè)值很大,而2^32=4294967296,很明顯用32bit無(wú)法精確到1?picoseconds,那就盡力而為,于是自然就把1,000,000,000,000 picoseconds劈成2^32份:

1,000,000,000,000/(2^32) = 232.83064365386962890625? ? 即1LSW=232ps

? ? ? ? 故先將LSW乘以232轉(zhuǎn)為ps,然后ps除以10^6就得到us了,于是有:usec=lsw*232/1000000

? ? ? ? 再看看秒的一些時(shí)間單位轉(zhuǎn)換:

毫秒ms是10^-3秒;微妙us是10^-6秒;納秒ns是10^-9秒;皮秒ps是10^-12秒

? ? ? ? 于是低位32bit“94 F8 59 7C”,將其轉(zhuǎn)換為10進(jìn)制2499303804,則:

usec=lsw*232/1000000=579838us=0.579838s

? ? ? ? 綜上所述,故NTP時(shí)間戳“D9 FD 84 95 94 F8 59 7C”轉(zhuǎn)換成UTC時(shí)間為2015-11-23 20:27:01.579838 UTC+8(北京時(shí)間)

?寫在最后的話:整理不易,若對(duì)你有幫助望支持點(diǎn)贊一下,謝謝。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/119230.html

相關(guān)文章

  • Javascript中時(shí)間

    摘要:比如中國(guó),從西到東橫跨東五東六東七東八和東九五個(gè)時(shí)區(qū),中華人民共和國(guó)成立以后,全國(guó)統(tǒng)一采用首都北京所在的東八時(shí)區(qū)的區(qū)時(shí)作為標(biāo)準(zhǔn)時(shí)間,稱為北京時(shí)間。全球所有國(guó)家根據(jù)時(shí)間和各自國(guó)家所在的時(shí)區(qū)確定當(dāng)?shù)貢r(shí)間,以此來(lái)保證全球時(shí)間的低誤差同步。 我們?cè)诰幊虝r(shí),不可避免地會(huì)和時(shí)間打交道。 比如要完成一次秒殺活動(dòng), 就會(huì)涉及到時(shí)間存取,時(shí)間同步和時(shí)間差值計(jì)算等諸多細(xì)節(jié)。一個(gè)JavsScript的簡(jiǎn)單例...

    MageekChiu 評(píng)論0 收藏0
  • Python time模塊參考手冊(cè)

    摘要:的模塊提供了各種操作時(shí)間的功能。模塊變量當(dāng)?shù)貢r(shí)間與標(biāo)準(zhǔn)時(shí)間的誤差,以秒計(jì)當(dāng)?shù)叵牧顣r(shí)時(shí)間與標(biāo)準(zhǔn)時(shí)間的誤差,以秒計(jì)當(dāng)?shù)貢r(shí)間是否反映夏令時(shí),默認(rèn)為關(guān)于標(biāo)準(zhǔn)時(shí)區(qū)名稱夏令時(shí)時(shí)區(qū)名稱的元組模塊方法將時(shí)間元組默認(rèn)為本地時(shí)間格式轉(zhuǎn)換為字符串形式。 Python的time模塊提供了各種操作時(shí)間的功能。在大多數(shù)的編程語(yǔ)言中,表示時(shí)間的方法有兩種,一是時(shí)間戳。即從1970年1月1日00:00:00開(kāi)始按秒計(jì)...

    王晗 評(píng)論0 收藏0
  • JavaScript 時(shí)間與日期處理實(shí)戰(zhàn):你肯定被坑過(guò)

    摘要:本文時(shí)間與日期處理實(shí)戰(zhàn)你肯定被坑過(guò)從屬于筆者的前端入門與最佳實(shí)踐中入門與最佳實(shí)踐系列文章。然而由于地球的不規(guī)則自轉(zhuǎn),導(dǎo)致時(shí)間有誤差,因此目前已不被當(dāng)作標(biāo)準(zhǔn)時(shí)間使用。而在航空上,所有使用的時(shí)間劃一規(guī)定是協(xié)調(diào)世界時(shí)。 本部分的知識(shí)圖譜請(qǐng)參考編程語(yǔ)言知識(shí)圖譜-時(shí)間與日期。showImg(https://segmentfault.com/img/remote/1460000007581725...

    ninefive 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<