PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

【PHP入門】cal_from_jd()関数でユリウス日からカレンダー情報を取得する方法

cal_from_jd()関数は、指定したユリウス日(Julian Day)をもとに、対応する暦の日付情報を配列として返すPHPの組み込み関数です。グレゴリオ暦をはじめ、ユリウス暦やユダヤ暦など、複数の暦体系に柔軟に対応できるのが特徴です。

構文

cal_from_jd(julian_day, calendar)

パラメータ

  • julian_day − 変換元となるユリウス日を整数で指定します。

  • calendar − 取得したい暦の種類を指定します。指定できる定数は以下のとおりです。

    • CAL_GREGORIAN:グレゴリオ暦(現在一般的に使われている暦)

    • CAL_JULIAN:ユリウス暦

    • CAL_JEWISH:ユダヤ暦

    • CAL_FRENCH:フランス革命暦(共和暦)

戻り値

cal_from_jd()関数は、次の情報を含む連想配列を返します。

  • date:日付(月/日/年の形式)
  • month:月
  • day:日
  • year:年
  • dow:曜日を表す数値(0=日曜日〜6=土曜日)
  • dayname/abbrevdayname:曜日名とその省略形
  • monthname/abbrevmonth:月名とその省略形

使用例

以下は、2018年10月5日の日付情報を取得するサンプルコードです。まずunixtojd()を使ってUnixタイムスタンプをユリウス日に変換し、その結果をcal_from_jd()に渡してグレゴリオ暦の詳細情報を取得しています。

<?php
$res = unixtojd(mktime(0, 0, 0, 10, 05, 2018));
print_r(cal_from_jd($res, CAL_GREGORIAN));
?>

出力結果

Array
(
[date] => 10/5/2018
[month] => 10
[day] => 5
[year] => 2018
[dow] => 5
[abbrevdayname] => Fri
[dayname] => Friday
[abbrevmonth] => Oct
[monthname] => October
)

このように、dowには「5」(金曜日を表す数値)、daynameには「Friday」というように、日付に関する詳しい情報がひとつの配列にまとめて格納されます。ユリウス日さえわかれば、曜日や月名まで含めた詳細なカレンダー情報を簡単に取得できるため、日付変換処理の実装に非常に便利な関数です。

  1. PHPのlog()関数とは?自然対数の計算方法と使い方を解説

    定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l

  2. PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説

    lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し