HTTP 1.1 (RFC 2068) requires an RFC 1123 date with a four digit year, so the correct format to use for a Last-modified header would look something like this:
<?php
header("Last-modified: " .
gmstrftime("%a, %d %b %Y %T %Z",getlastmod()));
?>
(PHP 4, PHP 5, PHP 7, PHP 8)
gmstrftime — Yerel ayarlara göre tarih ve saati, UTC türüne çevirir
Bu işlevin kullanımı PHP 8.1.0'dan beri ÖNERİLMEMEKTEDİR. Bu işleve güvenilmesi kesinlikle önerilmez.
Bu işlevin yerine kulllanılabilecekler:
UTC zamanı döndürmesi dışında strftime() işlevi gibi davranır. Örneğin, Doğu Standart Zamanınında (UTC -0500) çalıştırıldığında, aşağıdaki örneğin ilk satırı "Ara 31 1998 20:00:00" basarken ikinci satırı "Oca 01 1999 01:00:00" basar.
Bu işlev, birbiriyle tutarsız olabilecek veya hiç mevcut olmayan işletim sistemi yerel ayar bilgilerine bağlıdır. Bilgilerin tutarsızlığı veya yokluğu durumunda bunun yerine IntlDateFormatter::format() yöntemi kullanılmalıdır.
biçem
Açıklama için strftime() işlevine bakınız.
zaman_damgası
Seçimlik zaman_damgası
bağımsız değişkeni
int türünde bir Unix zaman damgası olup belirtilmediği
takdirde veya null
ise yerel zaman kullanılır. Başka bir deyişle,
time() işlevinden dönen değer öntanımlıdır.
İstenilen biçime göre verilen zaman_damgası
bağımsız değişkenini ya da zaman damgası bağımsız değişkeni kullanılmamışsa yerel
zamanı; biçimlendirilmiş dizge olarak döndürür, başarısızlık durumunda false
döner.
Ay ve hafta günlerinin isimleri ve diğer dile bağımlı dizgelerle ilgili
geçerli yereller setlocale() işlevi ile ayarlanabilir.
Sürüm: | Açıklama |
---|---|
8.0.0 |
zaman_damgası artık null olabiliyor.
|
Örnek 1 - gmstrftime() örneği
<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>
HTTP 1.1 (RFC 2068) requires an RFC 1123 date with a four digit year, so the correct format to use for a Last-modified header would look something like this:
<?php
header("Last-modified: " .
gmstrftime("%a, %d %b %Y %T %Z",getlastmod()));
?>
If you want the dutch time on your pages and you are hosted on a server in the USA you can easily change it this way:
<?php
setlocale(LC_TIME, 'nl_NL');
$tgl = gmstrftime("%d %B %Y - %H:%M uur",time()+3600);
?>
Then use $tgl to display the right time.
Note the +3600 is a day light savings time correction.
The result: 22 maart 2005 - 16:39 uur
First I used the normal date function and this was the previous result: March 22, 2005 - 04:28 AM
I needed it for a dutch guestbook.
I'm new to PHP and it took me a while to find it out and maybe it's of no use for experienced PHP programmers but I thought people can always ignore my post :)
gmstrftime() should not be used to generate a RFC 850 date for use in HTTP headers, since its output is affected by setlocale().
Use gmdate instead:
gmdate('D, d M Y H:i:s') . ' GMT';
To get a RFC 850 date (used in HTTP) of the current time:
gmstrftime ("%A %d-%b-%y %T %Z", time ());
This will get for example:
Friday 25-Jun-04 03:30:23 GMT
Please note that times in HTTP-headers _must_ be GMT, so use gmstrftime() instead of strftime().