(PHP 4, PHP 5, PHP 7, PHP 8)
mktime — Bir tarih için Unix zaman damgasını döndürür
$saat
,$dakika
= null
,$saniye
= null
,$ay
= null
,$gün
= null
,$yıl
= null
Verilen bağımsız değişken düzenine göre Unix zaman damgasını döndürür. Bu zaman damgası, Unix Zaman Başlangıcı (1 Ocak 1970 00:00:00 GMT) ile belirtilen zaman arasında geçen süreyi uzun tamsayı türünde saniye olarak belirtir.
Belirtilmeyen seçimlik bağımsız değişkenlerin yerine yerel tarih ve zamana göre geçerli değerin kullanılması sağlanmıştır.
Bağımsız değişkenlerin tuhaf bir sırada olduğu unutulmamalıdır. Sıralama
ay
, gün
,
yıl
olup alışılmış gün
,
ay
, yıl
sıralamasında
değildir.
mktime() işlevinin bağımsız değişkenler olmaksızın kullanımı desteklenmemekte olup ArgumentCountError ile sonuçlanmaktadır. Geçerli zaman damgasını elde etmek için time() işlevi kullanılabilir.
mktime() işlevinin bağımsız değişkensiz çağrılmasının kullanımı önerilmemektedir. Geçerli zaman damgasını almak için time() kullanılabilir.
saat
ay
, gün
ve
yıl
'a göre saptanan günün başlangıcına göreli
saat sayısı. Negatif değerler günün geceyarısından önceki saatine
karşılıktır. 23'ten büyük değerler ertesi günün uygun saatine
karşılıktır.
dakika
saat
'in başlangıcına göreli dakika sayısı.
Negatif değerler önceki saatin dakikalarına, 59'dan büyük değerler ise
sonraki saatin dakikalarına karşılıktır.
saniye
dakika
'nın başlangıcına göreli saniye sayısı.
Negatif değerler önceki dakikanın saniyelerine, 59'dan büyük değerler ise
sonraki dakikanın saniyelerine karşılıktır.
ay
Önceki yıl sonuna göreli ay sayısı. 1-12 arasındaki değerler ilgili yılın normal takvim aylarına karşılıktır. 1'den küçük (negatifler dahil) değerler ters sırada önceki yılın aylarına karşılıktır, yani 0 Aralık, -1 Kasım, vb.
gün
Önceki ayın sonuna göreli gün sayısı. 1'den 28, 29, 30 veya 31'e kadar (aya bağlı olarak) değerler ilgili ayın normal günlerine karşılıktır. 1'dek küçükler (negatifler dahil) önceki ayın günlerine karşılıktır, yani 0 önceki ayın son günü, -1 daha önceki günü vb. İlgili ayın gün sayısından büyük değerler sonraki ayın günlerine karşılıktır.
yıl
Yıl sayısı, iki ya da dört hane olabilir. 0-69 değerleri arasında
olanlar 2000-2069 ile ve 70-100 arasındaki değerler ise 1970-2000
yıllarıyla eşleşir. Sistemlerdeki time_t türü 32 bit işaretli tamsayı
türüyle belirtilmiştir ve günümüzde çok kullanılmaktadır.
yıl
bağımsız değişkeni için geçerli aralık 1901 ve
2038 arasındadır.
Başarı durumunda int türünden Unix zaman damgası,
zaman damgası int türüne sığmıyorsa false
döner.
Sürüm: | Açıklama |
---|---|
8.0.0 |
saat artık seçimlik değil. Unix zaman damgasına
ihtiyaç olursa time() işlevi kullanılabilir.
|
8.0.0 |
dakika , saniye ,
ay , gün ve
yıl artık boş olabiliyor.
|
Örnek 1 - Basit bir mktime() örneği
<?php
// Öntanımlı zaman dilimini belirtelim.
date_default_timezone_set('UTC');
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
// Çıktısı: July 1, 2000 is on a Saturday
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
// Şöyle bir şey basar: 2006-04-05T01:02:03+00:00
?>
Örnek 2 - mktime() örneği
mktime() işlevi tarih hesaplamaları ve geçerlilik denetimi için kullanışlıdır. Aralık dışına çıkan değerleri (ayın 32'si gibi) otomatik olarak doğru hesaplar. Örneğin, aşağıdaki satırların üreteceği dizge "Jan-01-1998" olacaktır.
<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>
Örnek 3 - Ayın son günü
Verilen herhangi bir ayın son günü, gelecek ayın -1'inci değil 0'ıncı günü olarak ifade edilebilir. Aşağıdaki iki örnek de "2000 Şubat'ının son günü: 29" dizgesi üretilecektir.
<?php
$songün = mktime(0, 0, 0, 3, 0, 2000);
echo "2000 Şubat'ının son günü: ", date('d', $songün);
$songün = mktime(0, 0, 0, 4, -31, 2000);
echo "2000 Şubat'ının son günü: ", date('d', $songün);
?>