php中根據某年第幾天計算出日期年月日的代碼

來源:互聯網
上載者:User
這個索引值除了即食麵資料的記錄和搜尋,還起著記錄日期資訊的作用,資訊量很可觀。
那麼,如何還原索引值為可用的日期資訊呢?
date('z')返回的是一年中的第幾天,傳回值為從0開始至365的整數。要將這些整數還原為日期資訊,我們只需要一個簡單的計算。以今年(2008年)第159天(實際為160天,php中從0開始,0對應於常規的第一天)為例,計算它的日期、星期方法如下:
複製代碼 代碼如下:
<?php
$MyDate=159; //第159天
$milliseconds = mktime(0,0,0,1,1,2008) + $MyDate * 86400; //取得UNIX時間戳記
$msg = date('F jS Y , l',$milliseconds); //格式化日期輸出
echo $msg;
?>

運行以上程式,瀏覽器上顯示的資訊將是:June 8th 2008 , Sunday
解釋:
一. $milliseconds是UNIX時間戳記變數,它表明2008年第159天所經曆的從UNIX公元紀(1700年1月1日)以來的毫秒數,它將作為 參數用於date()函數中參與計算日期資訊,是個重要的依據。要正確計算$milliseconds的值,我們首先需要得到2008年1日1日所經曆的 毫秒數,即,mktime(0,0,0,1,1,2008),然後加上159天的毫秒數,即,$MyDate * 86400,因為,每一天的86400毫秒。
二. $msg是我們格式化輸出的日期資訊,此變數值的取得通過date()函數,第一個參數“'F jS Y , l'”只是格式化格式,還可以根據需要設定為別的,第二個參數是毫秒數(長整型),其意義為從UNIX起始年到某個特定時刻所經曆的毫秒總數。
為了驗證程式的正確性,我們可以列印一下2008年6月8日所經曆的毫秒數:mktime(0,0,0,6,8,2008),它的值將與$milliseconds是一樣的:1212854400。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.