• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            jake1036

            linux內(nèi)核時(shí)間處理模塊

            /*
              該程序主要計(jì)算從1970年開(kāi)始到開(kāi)機(jī)當(dāng)日經(jīng)過(guò)的秒數(shù),作為開(kāi)機(jī)時(shí)間
              該函數(shù)與標(biāo)準(zhǔn)C函數(shù)提供的mktime()函數(shù)的功能完全一樣
            */

            #incldue 
            <time.h>
            #define MINUTE  60
            #define HOUR (60 * MINUTE)
            #define DAY  (24 * HOUR)
            #define YEAR (356 * DAY)


            //下面以年為界限,定義了每個(gè)月開(kāi)始時(shí)的秒數(shù)時(shí)間  
            static int month[12]={

               
            0 , 
               DAY
            *(32) ,
               DAY
            *(32 + 29) ,
               DAY
            *(32 + 29 + 31) ,
               DAY
            *(32 + 29 + 31 + 30) ,        
               DAY
            *(32 + 29 + 31 + 30 + 31) ,
               DAY
            *(32 + 29 + 31 + 30 + 31 + 30) ,
               DAY
            *(32 + 29 + 31 + 30 + 31 + 30 + 31) ,
               DAY
            *(32 + 29 + 31 + 30 + 31 + 30 + 31 + 31) , 
               DAY
            *(32 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30) , 
               DAY
            *(32 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31) ,
               DAY
            *(32 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30

            }



             
            long kernel_mktime(struct tm * tm)
              
            {
                 
            long res ;
                 
            int  year ;
                 year 
            = tm->tm_year - 70 ;
                 res  
            = YEAR * year + DAY *((year + 1)/4) ; //加上在該年之前所過(guò)的閏年數(shù)木
                 res += month[tm->tm_mon] ;                 //再加上當(dāng)前月份之前的月份所有的秒數(shù)
               
            //如果不是閏年,我們就進(jìn)行調(diào)整,把多加的一條去掉    
                 if(tm->tm_mon > 1 && ((year +  2%4))  
                    res 
            -=  DAY ;                           //如果當(dāng)前的月超過(guò)了2月,且本身就是閏年,那么需要減去一天
                 res += DAY  * (tm->tm_mday - 1) ;
                 res 
            += HOUR * tm->tm_hour ;
                 res 
            += MINUTE * tm->tm_min ;
                 res 
            += tm->tm_sec ;
                 
            return res ;                               //得到的結(jié)果就是從1970年開(kāi)始到現(xiàn)在的秒數(shù)。
            }


             

            該代碼中,只有一個(gè)核心方法,就是要得到現(xiàn)在的時(shí)間到1970年經(jīng)過(guò)的秒數(shù)。







            posted on 2010-10-25 20:38 kahn 閱讀(331) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            久久久久久极精品久久久| 国产精品久久久久影院嫩草| 久久男人Av资源网站无码软件| 婷婷综合久久狠狠色99h| 久久国产精品无码一区二区三区| 欧美性猛交xxxx免费看久久久| 精品久久久噜噜噜久久久| 狠狠色狠狠色综合久久| 亚洲欧美日韩精品久久亚洲区| 99久久www免费人成精品| 97久久久精品综合88久久| 久久精品国产亚洲av麻豆小说 | 武侠古典久久婷婷狼人伊人| 国产精品免费久久久久久久久| 久久精品国产福利国产秒| Xx性欧美肥妇精品久久久久久| 久久国产乱子伦精品免费强| 狠狠色丁香婷综合久久| 久久99国产精品久久久| 伊人久久大香线焦综合四虎| 久久久国产精华液| 久久久久久久91精品免费观看| 久久综合欧美成人| 九九久久99综合一区二区| 国产AⅤ精品一区二区三区久久 | 亚洲欧美国产精品专区久久| 久久精品国产日本波多野结衣 | 精品国产一区二区三区久久蜜臀| 国内精品久久久久国产盗摄| 久久人人爽人人精品视频| 久久婷婷人人澡人人爽人人爱| 久久久久亚洲AV无码网站| 久久99精品国产99久久| 久久久久国产| 无码日韩人妻精品久久蜜桃| 久久青青草原精品影院| 中文精品久久久久人妻| 99久久人妻无码精品系列蜜桃| 99热成人精品免费久久| 新狼窝色AV性久久久久久| 久久精品成人影院|