• <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內核時間處理模塊

            /*
              該程序主要計算從1970年開始到開機當日經過的秒數,作為開機時間
              該函數與標準C函數提供的mktime()函數的功能完全一樣
            */

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


            //下面以年為界限,定義了每個月開始時的秒數時間  
            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) ; //加上在該年之前所過的閏年數木
                 res += month[tm->tm_mon] ;                 //再加上當前月份之前的月份所有的秒數
               
            //如果不是閏年,我們就進行調整,把多加的一條去掉    
                 if(tm->tm_mon > 1 && ((year +  2%4))  
                    res 
            -=  DAY ;                           //如果當前的月超過了2月,且本身就是閏年,那么需要減去一天
                 res += DAY  * (tm->tm_mday - 1) ;
                 res 
            += HOUR * tm->tm_hour ;
                 res 
            += MINUTE * tm->tm_min ;
                 res 
            += tm->tm_sec ;
                 
            return res ;                               //得到的結果就是從1970年開始到現在的秒數。
            }


             

            該代碼中,只有一個核心方法,就是要得到現在的時間到1970年經過的秒數。







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

            久久精品亚洲AV久久久无码| 免费观看久久精彩视频| 午夜精品久久久久久久无码| 久久午夜福利无码1000合集| 国产精品久久久久影院嫩草| 久久精品国产男包| 久久综合久久综合久久综合| 国産精品久久久久久久| 久久国产精品久久国产精品| 18岁日韩内射颜射午夜久久成人 | 亚洲国产美女精品久久久久∴| 伊人久久大香线蕉精品| 无码国内精品久久人妻| 国产精品欧美久久久久天天影视| 精品久久久久久综合日本| 久久国产乱子伦精品免费午夜| 91性高湖久久久久| 无码人妻少妇久久中文字幕蜜桃| 国产精品综合久久第一页| 久久久无码精品亚洲日韩蜜臀浪潮| 久久久亚洲AV波多野结衣| 久久亚洲国产中v天仙www | 蜜桃麻豆WWW久久囤产精品| 天天久久狠狠色综合| 亚洲国产另类久久久精品黑人| 丁香五月综合久久激情| 久久精品无码专区免费青青| 久久久久亚洲AV成人网人人网站| 日韩欧美亚洲综合久久影院Ds| 久久九九有精品国产23百花影院| 久久精品水蜜桃av综合天堂| 国产A级毛片久久久精品毛片| 午夜精品久久久久久| 欧美一区二区久久精品| 色8激情欧美成人久久综合电| 欧美久久一区二区三区| 人妻少妇精品久久| 综合久久给合久久狠狠狠97色| 久久WWW免费人成一看片| 国产香蕉久久精品综合网| 中文成人久久久久影院免费观看|