easter_date

(PHP 4, PHP 5, PHP 7, PHP 8)

easter_dateVerilen yıl için paskalya gece yarısının unix zaman damgasını döner

Açıklama

easter_date(?int$yıl = null, int$kip = CAL_EASTER_DEFAULT): int

Verilen yıl için paskalya gece yarısının unix zaman damgasını döner.

Paskalya günü, ilk olarak M.S. 325 yılında İznik Konseyi tarafından, İlk dolunaydan veya Bahar ılımından (ekinoks) sonraki ilk pazar günü olarak tanımlanmıştır. Ilımın daima 21 Mart tarihine rastladığı varsayılır ve hesaplama dolunayın ve sonraki pazar gününün hesaplanmasına indirgenir. Kullanılan algoritma Dionysius Exiguus tarafından 532 yılında tanıtıldı. Jülyen takvimi döneminde (1753'den önceki yıllar) ayın evrelerini takip etmek için basit 19 yıllık çevrim kullanıldı. Gregoryen takvimi döneminde (1753'den sonraki yıllar - Clavius ve Lilius tarafından hazırlandı ve XIII Papa Gregory tarafından Ekim 1582'de tanıtıldı, Eylül 1752'de Britanya ve kolonilerine yayıldı) çevrimin daha doğru olması için 2 düzeltme değişkeni eklendi.

Bağımsız Değişkenler

yil

32 bitlik sistemlerde 1970-2037, 64 bitlik sistemlerde 1970-2,000,000,000 aralığındaki değerlerden biri. Atlanırsa veya null belirtilirse yerel zamana göre geçerli yıl öntanımlıdır.

kip

CAL_EASTER_ALWAYS_JULIAN atanırsa Paskalya günlerinin Jülyen takvimine göre hesaplanmasını sağlar. Ayrıca, bkz. takvim sabitleri.

Dönen Değerler

Unix zaman damgası olarak paskalya günü.

Hatalar/İstisnalar

32 bitlik sistemlerde yıl 1970'ten önceyse veya 2037'den sonraysa veya 64 bitlik sistemlerde 2,000,000,000'dan sonraysa ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: Açıklama
8.3.0 64 bitlik sistemlerde yıl artık 1970-2,000,000,000 aralığında değer kabul ediyor.
8.0.0yıl artık null olabiliyor.
8.0.0yıl izin verilen aralığın dışındaysa artık ValueError istisnası oluşuyor. Evvelce bir E_WARNING oluşur ve işlev false döndürürdü.

Örnekler

Örnek 1 easter_date() örneği

<?php

echo date("M-d-Y", easter_date(1999)); // Apr-04-1999
echo date("M-d-Y", easter_date(2000)); // Apr-23-2000
echo date("M-d-Y", easter_date(2001)); // Apr-15-2001

?>

Notlar

Bilginize:

easter_date(), PHP'nin dahili tarih ve saat işlevlerinden ziyade, sisteminizin C kütüphanesinin zaman işlevlerine dayanır. Sonuç olarak, easter_date(), PHP'nin öntanımlı saat dilimini kullanmak yerine, çalışması gereken saat dilimini belirlemek için TZ ortam değişkenini kullandığından, bu işlevi PHP'deki diğer tarih işlevleriyle birlikte kullanmak beklenmedik davranışlara neden olabilir.

Geçici bir çözüm olarak, Paskalya'nın başlangıcını PHP saat diliminizde hesaplamak için easter_days() işlevi DateTime ve DateInterval ile aşağıdaki gibi kullanılabilir:

<?php
function get_easter_datetime($year) {
$base = new DateTime("$year-03-21");
$days = easter_days($year);

return
$base->add(new DateInterval("P{$days}D"));
}

foreach (
range(2012, 2015) as $year) {
printf("Easter in %d is on %s\n",
$year,
get_easter_datetime($year)->format('F j'));
}
?>

Yukarıdaki örneğin çıktısı:

Easter in 2012 is on April 8 Easter in 2013 is on March 31 Easter in 2014 is on April 20 Easter in 2015 is on April 5

Örnek 2 - easter_date() ile DateTime kullanımı

<?php

$timestamp
= easter_date(2023);

$datetime = new \DateTime();
$datetime->setTimestamp($timestamp);

echo
$datetime->format('M-d-Y'); // Apr-09-2023

?>

Ayrıca Bakınız

  • 1970'den önce veya 2037'den sonraki Paskalya günleri için easter_days() - Verilen yıl için Paskalya zamanına, 21 Marttan sonraki kalan gün sayısını verir.
To Top