phpである年の何日目から日付年月日を算出するコード

1128 ワード

このインデックス値はインスタントラーメンデータの記録や検索に加えて、日付情報を記録する役割を果たし、情報量が大きい.
では、インデックス値を使用可能な日付情報に復元するにはどうすればいいのでしょうか.
date('z')は、0から365までの整数を返す1年の数日目を返します.これらの整数を日付情報に復元するには、簡単な計算が必要です.今年(2008年)159日目(実際には160日目、phpでは0から0が通常の初日に対応)を例に、日付、曜日を計算する方法は以下の通りです.
 
  
$MyDate=159; // 159
$milliseconds = mktime(0,0,0,1,1,2008) + $MyDate * 86400; // UNIX
$msg = date('F jS Y , l',$milliseconds); //
echo $msg;
?>

以上のプログラムを実行すると、ブラウザに表示される情報はJune 8 th 2008、Sundayです.
説明:
1.$millisecondsはUNIXタイムスタンプ変数であり、2008年159日目にUNIX西暦紀(1700年1月1日)以来のミリ秒数を示し、date()関数で日付情報の計算にパラメータとして使用される重要な根拠となる.$millisecondsの値を正確に計算するには、まず2008年1日1日に経験したミリ秒数、すなわちmktime(0,0,0,1,12008)を取得し、159日のミリ秒数、すなわち$MyDate*86400を加算する必要があります.なぜなら、毎日86400ミリ秒であるからです.
2.$msgは我々が出力をフォーマットした日付情報であり、この変数値の取得はdate()関数によって行われ、最初のパラメータ「'F jS Y,l'」はフォーマット形式のみであり、必要に応じて別の値に設定することもでき、2番目のパラメータはミリ秒数(長整数型)であり、UNIXの開始年から特定の時刻まで経験したミリ秒の総数を意味する.
プログラムの正確性を検証するために、2008年6月8日に経験したミリ秒数:mktime(0,0,0,6,82008)を印刷することができます.その値は$millisecondsと同じです.1212854400です.