您好,登錄后才能下訂單哦!
這篇文章主要介紹“C語(yǔ)言如何實(shí)現(xiàn)古代時(shí)辰計(jì)時(shí)與現(xiàn)代時(shí)間換算”,在日常操作中,相信很多人在C語(yǔ)言如何實(shí)現(xiàn)古代時(shí)辰計(jì)時(shí)與現(xiàn)代時(shí)間換算問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”C語(yǔ)言如何實(shí)現(xiàn)古代時(shí)辰計(jì)時(shí)與現(xiàn)代時(shí)間換算”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
示例如下:
另外需要了解時(shí)辰是各地時(shí)間,對(duì)北京時(shí)有緯度差。
調(diào)整的公式是: 時(shí)辰起點(diǎn)+4*(Z-B) 分鐘( Z是北京中央經(jīng)度,B是當(dāng)?shù)氐慕?jīng)度。)
如:天水時(shí)辰 =23點(diǎn) +4*(120-105.7)分。
得:23 +4 * 14.3 = 23+57.2 =23點(diǎn)57分12秒。
以北京時(shí)間來(lái)?yè)Q算,北京是東經(jīng)120度,當(dāng)?shù)亟?jīng)度是105.7度。
此公式用于地方時(shí)辰調(diào)整。
以下是算法測(cè)試的源碼文檔(供參考):
thansform ( ){ //古時(shí)時(shí)辰計(jì)時(shí)換算 int tim[3] ; string hhs,kks,ffs,ccs ; //預(yù)置字串 string hh0s, mm0s ; string chh, hhk, hhf, wwf, mcs ; //時(shí)刻分,名稱 string hhcz ; //子時(shí)初,正 string s1,s2,s3,s4; ccs="雞鳴平旦日出食時(shí)隅中日中日昳晡時(shí)日入黃昏人定夜半" ; hhs= "丑寅卯辰巳午未申酉戌亥子" ; kks= "初刻一刻二刻三刻" ; ffs= "一字二字三字四" ; setDisplay (0); clearOutput ( ) ; print "古時(shí)計(jì)時(shí)時(shí)辰換算示例:" ; getTime(tim); //getDate = today pickTime("輸入時(shí)間:", tim); //input rime hh0=tim[0] ; mm0=tim[1] ; print " " ; chh=subString (hhs, (hh0+1)/2-1, 1) ; if (hh0-hh0/2*2==0) { hhcz="正" ; } else{ hhcz="初" ; } chh=chh+hhcz ; //時(shí) hhk=subString (kks, mm0/15*2, 2 ) ; //刻 n=(mm0-mm0/15*15)/5 ; //余數(shù) // hhf=subString (ffs, (n-1)*2, 2) ; //分=字 // if (n==0) hhf=" " ; // ns=mm0-mm0/15*15-n*5 ; //余=分減刻減字 //wwf=subString (ffs, (ns-1)*2, 1) ; //21 : 43 =>> 亥初二刻二字三 // for (i=0; i<12 ; i++) { //測(cè)試古時(shí)稱謂 // s3=subString (hhs, i, 1 ) ; // s2= s2+s3+" " ; } //print s2 ; // test print ccs$ //print ccs ; hh0s=intToString (hh0) ; mm0s=intToString (mm0) ; if (mm0<10) mm0s="0"+mm0s ; if (mm0==0) hhk=" " ; mcs=subString (ccs, (hh0+1)/2*2-2, 2) ; //名稱 print "Input Time = " +hh0s+" : "+ mm0s ; print " " ; print "換算為古時(shí)計(jì)時(shí):" ; print " " ; print " " + chh+hhk+hhf+wwf+" "+mcs ; print "---------------------------------------------------" ; //時(shí)辰計(jì)時(shí)轉(zhuǎn)換為時(shí)鐘時(shí)間 int ns, ns1 ; s1=chh+hhk ; //輸入時(shí),分 s2=subString (s1, 0, 1) ; for (i=0; i<12 ; i++) { s3=subString (hhs, i, 1 ) ; if(s3==s2) ns=i ; } print " " ; print "Input : "+s1 ; hh0=ns*2+1 ; //計(jì)算小時(shí)數(shù) s2=subString (s1, 1, 1) ; if (s2=="初") { ns=0 ; }else{ ns=1 ; } hh0=hh0+ns ; //正加一小時(shí) s2=subString (s1, 2, 1) ; if (s2=="一") ns1=15 ; //還原幾刻的分鐘數(shù) if (s2=="二") ns1=30 ; if (s2=="三") ns1=45 ; n=(mm0-mm0/15*15) ; //原輸入分的尾數(shù) mm0=ns1+n ; //計(jì)算分鐘數(shù) hh0s=intToString (hh0) ; //format if (hh0<10) hh0s="0"+hh0s ; mm0s=intToString (mm0) ; if (mm0<10) mm0s="0"+mm0s ; print " " ; print "換算為現(xiàn)在時(shí)間: ", hh0s, " : ", mm0s ; }//時(shí)辰換算
到此,關(guān)于“C語(yǔ)言如何實(shí)現(xiàn)古代時(shí)辰計(jì)時(shí)與現(xiàn)代時(shí)間換算”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。