現在の位置: ホーム> 最新記事一覧> Gregoriantojd関数で日付タイムスタンプを生成する方法は?実用的な方法とコードの例

Gregoriantojd関数で日付タイムスタンプを生成する方法は?実用的な方法とコードの例

M66 2025-08-05

PHPでは、 Gregoriantojd()関数は、グレゴリオの日付をジュリアンの日に変換するために使用されるツールです。グレゴリオの日付に対応するジュリアンの日数を表す整数値を返します。この関数は、天文学的な歴史的時間計算などを含むシナリオに非常に役立ちますが、特に特定のグレゴリオの日付に基づいて時間を計算する必要がある場合は、日付のタイムスタンプを生成するためにも使用できます。

1。GREGORIANTOJD ()関数の紹介

gregoriantojd()関数のプロトタイプは次のとおりです。

 <span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">gregoriantojd</span></span><span>(</span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$month</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$day</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$year</span></span><span>)
</span></span>
  • $月:1か月の範囲の値を指定します。

  • $ day :日付を指定します。値範囲は月の日数に依存します。

  • $ year :4桁で表される年を指定します。

この関数の返品値は、グレゴリオ日のジュリアン時代の数を表す整数です。

2。gregoriantojd ()を介してタイムスタンプを生成する方法は?

Gregoriantojd()自体はUNIXタイムスタンプを直接返しませんが(1970年1月1日以来秒)、特定の日付でUNIXタイムスタンプを生成する方法を実装するために使用できます。 Gregoriantojd()を介して日付のタイムスタンプを取得する方法を教える簡単なステップを次に示します。

2.1基本概念

ジュリアンの日数は紀元前4713年1月1日に始まり、時間単位は「日」です。したがって、それをUnixタイムスタンプに変換するために、ジュリアンの日と1970年1月1日の間の日数の違いが最初に計算されます。

2.2タイムスタンプ変換のコード例

<span><span><span class="hljs-meta">&lt;?php</span></span><span>

</span><span><span class="hljs-comment">// 日付を取得するためのジュリアンデー</span></span><span>
</span><span><span class="hljs-variable">$month</span></span><span> = </span><span><span class="hljs-number">7</span></span><span>;
</span><span><span class="hljs-variable">$day</span></span><span> = </span><span><span class="hljs-number">13</span></span><span>;
</span><span><span class="hljs-variable">$year</span></span><span> = </span><span><span class="hljs-number">2025</span></span><span>;

</span><span><span class="hljs-variable">$julian_day</span></span><span> = </span><span><span class="hljs-title function_ invoke__">gregoriantojd</span></span><span>(</span><span><span class="hljs-variable">$month</span></span><span>, </span><span><span class="hljs-variable">$day</span></span><span>, </span><span><span class="hljs-variable">$year</span></span><span>);

</span><span><span class="hljs-comment">// ジュリアンの日を計算します Unix タイムスタンプ間の日数の違い</span></span><span>
</span><span><span class="hljs-variable">$unix_timestamp</span></span><span> = (</span><span><span class="hljs-variable">$julian_day</span></span><span> - </span><span><span class="hljs-number">2440588</span></span><span>) * </span><span><span class="hljs-number">86400</span></span><span>;  </span><span><span class="hljs-comment">// 2440588はい1970年1月1ジュリアンの日</span></span><span>

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"生成的时间戳はい: "</span></span><span> . </span><span><span class="hljs-variable">$unix_timestamp</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

2.3コード解析

  1. gregoriantojd() :年、月、日の3つのパラメーターを渡して、対応する日付のジュリアンの日を取得します。

  2. 2440588 :これは、UNIXタイムスタンプの開始点(1970年1月1日)のジュリアン時代の数です。この値は固定されており、現在の日付とUNIXタイムスタンプ開始日の間の日数の差を計算するために使用されます。

  3. 86400 :1日の秒数、24時間×60分×60秒。

これらの操作を通じて、グレゴリオの日付をUNIXタイムスタンプに変換します。

3。注意すべきこと

  • 精度の問題:ジュリアン自体は、タイムゾーンや夏時間などの要因を考慮していないため、特定のアプリケーションシナリオと組み合わせて修正する必要があります。より正確なタイムスタンプが必要な場合は、PHPの組み込みStrToTime()またはDateTimeクラスを直接使用することをお勧めします。

  • 時間範囲の制限gregoriantojd()はgregoriantojd()で機能しますが、いくつかの特別な日付変換の問題では、より複雑な時間形式を処理するために他の方法が必要になる場合があります。

4。概要

Gregoriantojd()は、指定されたグレゴリオの日付をジュリアンの日に変換する非常に実用的なPHP関数です。 UNIXタイムスタンプを生成する必要がある場合は、その日付と1970年1月1日までの日数の違いを計算することでこれを行うことができます。この方法は、いくつかの単純な日付計算タスクに適していますが、より複雑なタイムスタンプ処理にPHPの組み込み時間関数を使用することをお勧めします。