In PHP ist die Funktion Gregoriantojd () ein Werkzeug, mit dem ein Gregoriantermin in einen julianischen Tag umgewandelt wird. Es gibt einen Ganzzahlwert zurück, der die Anzahl der julianischen Tage darstellt, die dem Gregorianischen Datum entsprechen. Diese Funktion ist sehr nützlich für Szenarien, die astronomische, historische Zeitberechnungen usw. betreffen, aber sie kann auch verwendet werden, um Zeitstempel zu generieren, insbesondere wenn Sie die Zeit basierend auf einem bestimmten Gregorianischen Datum berechnen müssen.
Der Prototyp der Funktion Gregoriantojd () lautet wie folgt:
<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>
$ Monat : Gibt einen Monat mit Werten von 1 bis 12 an.
$ tag : Geben Sie das Datum an, der Wertebereich hängt von der Anzahl der Tage im Monat ab.
$ Jahr : Geben Sie das Jahr an, das durch vier Ziffern dargestellt wird.
Der Rückgabewert dieser Funktion ist eine Ganzzahl, die die Anzahl der julianischen Tage am Gregorianischen Datum darstellt.
Obwohl Gregoriantojd () selbst keinen Unix -Zeitstempel direkt zurückgibt (d. H. Sekunden seit dem 1. Januar 1970), können wir sie verwenden, um eine Methode zur Generierung von Unix -Zeitstempeln über ein bestimmtes Datum zu implementieren. Hier ist ein einfacher Schritt, um Ihnen beizubringen, wie Sie den Zeitstempel eines Datums durch Gregoriantojd () erhalten.
Die Anzahl der Julian Day beginnt am 1. Januar 4713 v. Chr. Und die Zeiteinheit ist "Tag". Um es in einen Unix -Zeitstempel umzuwandeln, wird der Unterschied in der Anzahl der Tage zwischen dem julianischen Tag und dem 1. Januar 1970 erstmals berechnet.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Julian Day, um Date zu bekommen</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">// Julian Day berechnen und Unix Der Unterschied in der Anzahl der Tage zwischen den Zeitstempeln</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">// 2440588Ja1970Jahr1Mond1Julian Day</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"生成的时间戳Ja: "</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">?></span></span><span>
</span></span>
Gregoriantojd () : Wir verabschieden drei Parameter: Jahr, Monat und Tag, um den julianischen Tag des entsprechenden Datums zu erhalten.
2440588 : Dies ist die Anzahl der julianischen Tage am Unix TimeStamp Start Point (1. Januar 1970). Dieser Wert wird festgelegt und verwendet, um die Differenz in der Anzahl der Tage zwischen dem aktuellen Datum und dem Unix -Zeitstempelstartdatum zu berechnen.
86400 : Die Anzahl der Sekunden am Tag, 24 Stunden × 60 Minuten × 60 Sekunden.
Durch diese Operationen wandeln wir das Gregorianische Datum in einen Unix -Zeitstempel um.
Präzisionsproblem : Julian selbst berücksichtigt keine Faktoren wie Zeitzone und Tageslichtsparzeit und muss daher in Kombination mit spezifischen Anwendungsszenarien korrigiert werden. Wenn Sie einen genaueren Zeitstempel benötigen, wird empfohlen, die integrierte Strtotime () oder DateTime -Klasse von PHP direkt zu verwenden.
Zeitbereichsbegrenzung : Gregoriantojd () arbeitet für Gregoriantojd (), aber für einige spezielle Datumsumwandlungsfragen sind möglicherweise andere Methoden erforderlich, um mit komplexeren Zeitformaten umzugehen.
Gregoriantojd () ist eine sehr praktische PHP -Funktion, die ein bestimmtes gregorianisches Datum in einen julianischen Tag umwandelt. Wenn Sie einen UNIX-Zeitstempel generieren müssen, können Sie dies tun, indem Sie den Unterschied in der Anzahl der Tage zwischen diesem Datum und dem 1. Januar 1970 berechnen. Obwohl diese Methode für einige einfache Datumsberechnungsaufgaben geeignet ist, wird empfohlen, die integrierten Zeitfunktionen von PHP für eine komplexere Zeitstempelverarbeitung zu verwenden.