時間轉換這點事兒

記錄時間和時間格式的轉換肺然,在程序中應用廣泛竿屹,基本所有語言自帶點處理時間和日期的函數(shù),什么轉換成帶時區(qū),不帶時區(qū)防症,精確到年评甜,月肘交,日氯窍,時,分锤躁,甚至精確到秒搁料,24h制的,12h制的∠敌撸看似足夠多足夠全面郭计,但是自己一用就發(fā)現(xiàn),討厭椒振,都不是自己想要的格式昭伸。拿個紙筆自己算吧,除六十澎迎,再除60庐杨,等等這是該進位了吧。夹供。灵份。就問你暈不暈,煩不煩哮洽。


先來介紹兩個時間概念

有時區(qū)的時間(timestamp with timezone):本地時間填渠,也就是數(shù)據(jù)庫服務器的時區(qū)改了,或者把應用服務器的時區(qū)(北京時間比UTC時間快8個小時)

無時區(qū)的時間(timestamp without timezone):當前時間是指從一個基準時間(1970-1-1 00:00:00 +0:00)鸟辅,到現(xiàn)在的秒數(shù)氛什,用一個整數(shù)表示。

一般數(shù)據(jù)庫存時間戳都是用的第二種匪凉,別問我為什么枪眉,都是血的教訓。服務器的時區(qū)一個不小心手滑選成了某個不知名的地區(qū)再层,自動儲存的時間戳天知道真實時間是幾點贸铜,還得Google一下對應關系,自己手動轉換树绩。。隐轩。


再就是舉幾個開發(fā)語言自帶對于時間轉化功能(以JavaScript為例):

這種Date類型的方法饺饭,還有一些常見用法,網(wǎng)上一搜一大堆职车,這里推薦一個https://blog.csdn.net/ligang2585116/article/details/52145580最好的理解方法還是自己跑跑瘫俊,試試看鹊杖。

還有個第三方插件moment.js??https://momentjs.com/?用的時候自己找找document對應自己需要的功能。


在以上均不能滿足需求之后扛芽,讓我們來自己寫一寫:

做simulation的時候往往拿到的是從0開始以秒為單位的時間間隔整數(shù)

video常見Json文件

這就需要轉換成可讀的格式 00:00:00.在此我們假定起始記錄時間為06:00:00

思考過程如下:

1)如何確定小時:1h=60min=60*60s=>1s=1/(60*1000)min=1/(60*60)h. 現(xiàn)有時間為秒骂蓖,那么當然是來個除法啦,得到結果3.2小時怎么辦川尖?當然是向下取整登下,切記可別四舍五入!叮喳!超過24h怎么辦被芳?取余取余,25h人話叫1Day1h.

2)然后你只需要Google 一下“js 如何向下取整馍悟,如何進行數(shù)學運算”畔濒,然后就是大膽的試

看起來貌似沒什么問題,但是锣咒。侵状。。

好毅整,ctrl+B運行一下:

這176是神馬玩意Hば帧!毛嫉!

原因就是出在變量類型上诽俯,讓我們console一下看看:

這就是原因

敲黑板。重點來了承粤。請問一加一在什么情況下不等于2暴区,答:在字符串相加的情況下(1+1=11,數(shù)字相加1+1=2)辛臊。

兩種方法供你選擇:

定義一個變量是數(shù)字
Number()強制類型轉換

3)如何轉換成雙字符仙粱?比如

你別指望電腦能自己把7變成07

這是你需要讓電腦判斷一下你的整數(shù)是否為兩位數(shù),如果不足為彻舰,前面補零伐割,自己寫寫看:

你要是這么寫,我要打你了刃唤。隔心。。
怎么沒變化
看出來區(qū)別了嗎尚胞?

補位要字符串相加硬霍,所以不是0 是“0”.


同樣的方法計算并處理分鐘和秒數(shù):

你以為這樣就完事了!A选唯卖!

24小時制度對于老年人來說還是不那么友好粱玲,讓我們來進一步改成給易讀的12小時制度吧。

思考過程如下:

1)我們是怎么區(qū)分AM和PM的呢拜轨?以正午12點為界限抽减,如果小時數(shù)超過12,那么就是PM橄碾,等于12卵沉,如果分鐘數(shù)大于0那么就是PM,12:00:00依然是AM堪嫂。

2)輸入格式為hh:mm:ss偎箫,當然以“:”為分隔識別符,就很輕易將時分秒提取出來皆串。

3)自行Google并學習split()如何使用淹办。

完美

現(xiàn)在我們已經(jīng)有了普遍適用的原創(chuàng)function,當然從性能或者效率來說一定有更好的恶复,但是重要的不是結果而是整個思考過程怜森。學習不是抄襲,別人的碼終歸是別人的谤牡,首先你得往前走副硅,然后再往高處看。

至少現(xiàn)在你應該掌握:

1)字符串和數(shù)字的轉換

2)字符串的加減以及數(shù)字的加減

3)邏輯運算翅萤,與或非恐疲。比較大小,取余套么,取整等一系列JS中Math的相關使用

4)字符串的分隔split()使用培己,數(shù)組使用

5)? 如何定義一個函數(shù),如何傳參胚泌,回調(diào)

6)console.log()輸出

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末省咨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子玷室,更是在濱河造成了極大的恐慌零蓉,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件穷缤,死亡現(xiàn)場離奇詭異敌蜂,居然都是意外死亡,警方通過查閱死者的電腦和手機津肛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門章喉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事囊陡。” “怎么了掀亥?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵撞反,是天一觀的道長。 經(jīng)常有香客問我搪花,道長遏片,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任撮竿,我火速辦了婚禮吮便,結果婚禮上,老公的妹妹穿的比我還像新娘幢踏。我一直安慰自己髓需,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布房蝉。 她就那樣靜靜地躺著僚匆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搭幻。 梳的紋絲不亂的頭發(fā)上咧擂,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音檀蹋,去河邊找鬼松申。 笑死,一個胖子當著我的面吹牛俯逾,可吹牛的內(nèi)容都是我干的贸桶。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼纱昧,長吁一口氣:“原來是場噩夢啊……” “哼刨啸!你這毒婦竟也來了?” 一聲冷哼從身側響起识脆,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤设联,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后灼捂,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體离例,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年悉稠,在試婚紗的時候發(fā)現(xiàn)自己被綠了宫蛆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖耀盗,靈堂內(nèi)的尸體忽然破棺而出想虎,到底是詐尸還是另有隱情,我是刑警寧澤叛拷,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布舌厨,位于F島的核電站,受9級特大地震影響忿薇,放射性物質(zhì)發(fā)生泄漏裙椭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一署浩、第九天 我趴在偏房一處隱蔽的房頂上張望揉燃。 院中可真熱鬧,春花似錦筋栋、人聲如沸炊汤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽婿崭。三九已至,卻和暖如春肴颊,著一層夾襖步出監(jiān)牢的瞬間氓栈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工婿着, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留授瘦,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓竟宋,卻偏偏與公主長得像提完,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子丘侠,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容