PHP TARİH ve SAAT İŞLEMLERİ

PHP TARİH ve SAAT İŞLEMLERİ

Tarhi : 13-02-2020 12:23:27 | Yazar : ÇAĞLAR BOSTANCI

Merhaba. Bu sayfada olduğunuza göre php zaman fonksiyonlarını araştıyorsunuz demektir. Bir projede zaman fonksiyonu olmazlardan biri. En basiti formdan gelen verilerin ne zaman, hangi gün içerisinde girildiğini bilmek isteyeceğiz. Kusura bakmayın seo için biraz lafı uzatacağım : ) isterseniz sadede 👇 gidebilirsiniz. Php zaman fonksiyonları zamanı sunucdan alır. Javascript gibi tarayıcı taraflı çalışan programlar ise client bilgisayarlardan. Bu sebepten sunucu taraflı zaman fonksiyonlarını kullanmak en mantıklısız neden derseniz client bilgisayarın zamanı hatalı olabilir. Bir sunucu kendi zaman dilini varsayılan olarak belirler. Artık hangi kıtada ve saat diliminde ise. Siz kullanmak istediğiniz zaman dilimini belirlemeniz gerekmektdir. Php zaman fonksiyonları geniş bir yelpazeye sahiptir. Tavsiyem istedğiniz bir php zaman fonksiyonunu seçin ve kendinize yeni bir fonksiyon yazın veya sınıfta bir metod oluşturun.

SADET

Öncelikli olark bulundunğunuz zaman dilimini belirtmeniz gerekmektedir. Bunu aşağıdaki fonksiyon ile yapacaksınız.

Diğer saat dilimlerin ise aşağıdadır.

Africa/AsmeraAfrica/TimbuktuAmerica/Argentina/ComodRivadaviaAmerica/Atka
America/Buenos_AiresAmerica/CatamarcaAmerica/Coral_HarbourAmerica/Cordoba
America/EnsenadaAmerica/Fort_WayneAmerica/IndianapolisAmerica/Jujuy
America/Knox_INAmerica/LouisvilleAmerica/MendozaAmerica/Montreal
America/Porto_AcreAmerica/RosarioAmerica/Santa_IsabelAmerica/Shiprock
America/VirginAntarctica/South_PoleAsia/AshkhabadAsia/Calcutta
Asia/ChongqingAsia/ChungkingAsia/DaccaAsia/Harbin
Asia/IstanbulAsia/KashgarAsia/KatmanduAsia/Macao
Asia/RangoonAsia/SaigonAsia/Tel_AvivAsia/Thimbu
Asia/Ujung_PandangAsia/Ulan_BatorAtlantic/FaeroeAtlantic/Jan_Mayen
Australia/ACTAustralia/CanberraAustralia/LHIAustralia/North
Australia/NSWAustralia/QueenslandAustralia/SouthAustralia/Tasmania
Australia/VictoriaAustralia/WestAustralia/YancowinnaBrazil/Acre
Brazil/DeNoronhaBrazil/EastBrazil/WestCanada/Atlantic
Canada/CentralCanada/EasternCanada/MountainCanada/Newfoundland
Canada/PacificCanada/SaskatchewanCanada/YukonCET
Chile/ContinentalChile/EasterIslandCST6CDTCuba
EETEgyptEireEST
EST5EDTEtc/GMTEtc/GMT+0Etc/GMT+1
Etc/GMT+10Etc/GMT+11Etc/GMT+12Etc/GMT+2
Etc/GMT+3Etc/GMT+4Etc/GMT+5Etc/GMT+6
Etc/GMT+7Etc/GMT+8Etc/GMT+9Etc/GMT-0
Etc/GMT-1Etc/GMT-10Etc/GMT-11Etc/GMT-12
Etc/GMT-13Etc/GMT-14Etc/GMT-2Etc/GMT-3
Etc/GMT-4Etc/GMT-5Etc/GMT-6Etc/GMT-7
Etc/GMT-8Etc/GMT-9Etc/GMT0Etc/Greenwich
Etc/UCTEtc/UniversalEtc/UTCEtc/Zulu
Europe/BelfastEurope/NicosiaEurope/TiraspolFactory
GBGB-EireGMTGMT+0
GMT-0GMT0GreenwichHongkong
HSTIcelandIranIsrael
JamaicaJapanKwajaleinLibya
METMexico/BajaNorteMexico/BajaSurMexico/General
MSTMST7MDTNavajoNZ
NZ-CHATPacific/JohnstonPacific/PonapePacific/Samoa
Pacific/TrukPacific/YapPolandPortugal
PRCPST8PDTROCROK
SingaporeTurkeyUCTUniversal
US/AlaskaUS/AleutianUS/ArizonaUS/Central
US/East-IndianaUS/EasternUS/HawaiiUS/Indiana-Starke
US/MichiganUS/MountainUS/PacificUS/Pacific-New
US/SamoaUTCW-SUWET
Zulu   

Date() Fonksiyonu Kullanımı

Php zaman işlemlerinde getdate() fonksiyonu ile date() fonksiyonu kullanılır.

Sabitler ve açıklamaları

a 12 saat esasına dayanan Anglo-Sakson sistemlerinde öğleden önce (“am”) veya öğleden sonra (“pm”) işaretinin verilmesini sağlar.
A Aynı işaretlerin büyük harfle yazılmasını sağlar.
d İki haneli gün sayısı, tek haneli günlerin önüne sıfir konur: “01” – “31”
D Üç haneli gün adı kısaltması: “Paz”
F Uzun ay adı: “Ocak”
h 12 saatlik sistemde saat: “Ol” – “12”
H 24 saatlik sistemde saat: “00” – “23”
g 12 saatlik sistemde tek haneli saatlerin önüne sıfır konmadan saat:” 11 – “12”
G 24 saatlik sistemde tek haneli saatlerin önüne sıfir konmadan saat: “0” – “23”_
i Dakika: “00” – “59”
j Tek haneli sayıların önüne sıfır konmadan gün sayısı “1” – “31”
l (küçük L harfi) Uzun gün adı: “Cuma”
L Artık yıl olup olmadığına ilişkin Boolean (doğru/yanlış) değişken. Artık yıl ise 1,değilse 0,
m Tek hanelilerin önüne sıfır konarak ay sayısı: “01” – ”12″
n Tek hanelilerin önüne sıfır konmadan ay sayısı: “1” – “12”
M Kısaltılmış ay adı: “May”
s Saniye: “00” – “59”
S İngilizce (‘ncı anlamına) 2 karakter ek: “th”, “nd”
t Belirtilen aym gün sayısı; ”28″ – “31” w
j Haftanın gün sayısı: “0” (Pazar veya Pazartesi) – “6” (Cumartesi veya Pazar)
Y Dört haneli yıl: “2000”
y iki haneli yıl “00”
z Yılın gün sayısı: “0” – “365”

getdate() Fonksiyonu

Tarih zaman bilgisini verir. Değer verildiğinde o verilen değere kadar olan tarihi değilse o anki tarihi dönderir. Verileri dizi olarak dönderir.

mktime() Fonksiyonu

Tarih için Unix zaman damgasını döndürür. Tarih zamanın istediğimiz gibi belirtmemizi sağlar.
mktime(saat,dakika,saniye,ay,gün,yıl);
Fonksiyonun Unix zaman başlangıçı (1 Ocak 1970 00:00:00 GMT) ile başlar.

PHP Locatime() Fonksiyonu Kullanımı

Yerel zamanı elde etemede kullanılır.

locatime([int $timestamp[, bool $is_associative]])
$timestamp zamanı ve $is_associative ise trua ya da false mantık operatörüne göre değer
döndürür. Zaman değeri fonksiyona verilmediği zaman geçerli değer time() ile elde edilir.

tm_sec Saniye
tm_min Dakika
tm_hour Saat
tm_mday Ayın hangi günü olduğu.
tm_mon Yılın hangi ayı olduğu, başlagıç 0 ile başlar : örn: Ocak=0, Eylül=11
tm_year 1900’den bu güne keç yıl geçtiği
tm_wday Haftanın günü
tm_yday Yılın hangi günü olduğu.
tm_isdst Gün ışığı tasarruf zaman kaydı

false değerine göre locatime() fonksiyonunun aldığı anahtarlar.

0 | Saniye
1 | Dakika
2 | Saat
3 | Ayın hangi günü olduğu.
4 | Yılın hangi ayı olduğu, başlagıç 0 ile başlar : örn: Ocak=0, Eylül=11
5 | 1900’den bu güne keç yıl geçtiği
6 | Haftanın günü
7 | Yılın hangi günü olduğu.
8 | Gün ışığı tasarruf zaman kaydı

strftime() Fonksiyonu Kullanımı

Zaman ve tarih gibi değerleri istediğimiz biçime göre yeniden çıktı olarak dönüştürebileceğimiz
bir dizi formatı sumaktadır. Tablodaki formatlara göre istediğmiz değerleri elde edebiliriz.

%a Yerele özgü kısaltılmış gün ismi.
%A Yerele özgü gün ismi.
%b Yerele özgü kısaltılmış ay ismi.
%B Yerele özgü ay ismi.
%c Yerele özgü tarih ve saat gösterimi.
%d 01 ile 31 arasında bir değer olarak ayın gün numarası.
%D %m%d%y biçiminde tarih.
%e 1 ile 31 arasında bir değer olarak ayın gün numarası (tek rakamlı sayıların önüne 0 -konmaz).
%F %Y-%m-%d biçimimde tarih.
%g 00 ile 99 arasında yıl numarasıdır (1988 için 88,2009 için 09,2010 için 10)
%h %b ile aynıdır ve yerele özgü kısaltılmış ay ismidir.
%H 00 ile 23 arasında 24 saatlik saat gösterimi.
%I 01 ile 12 arasında 12 saatlik saat gösterimi.
%j i 001 ile 366 arasında yılın gün numarası.
%k O ile 23 arasında 24 saatlik saat gösterimi (tek rakamlı sayıların önüne 0 konmaz)
%I 1 ile 12 arasında bir sayısal değer olarak 12 saatlik saat gösterimi (tek rakamlı sayılarınönüne 0 konmaz).
%m 01 ile 12 arasında ayın numarası.
%M 00 ile 59 arasında dakika değeri.
%n Tek bir \n (satır sonu) karakteri.
%p Verilen değere bağlı olarak yerele özgü AM veya PM dizgesidir.
%P Verilen değere bağlı olarak yerele özgü am veya pm dizgesidir.
%r Yerele özgü AM/PM biçimli saat gösterimi (örn, 05:50:22 ÖS) bu biçim %I:%M:%S ]%p biçim dizgesine eşdeğerdir.
%R %H:%M biçiminde saat ve dakika.
%S 00 ile 60 arasında saniye.
%t |Tek bir \t (sekme) karakteri.
%T %H:%M:%S biçiminde saat.
%u 1 ile 7 arasında haftadaki günün numarası. Pazartesi, haftanın birinci günüdür.
%U 00 ile 53 arasında hafta numarası. Yılın ilk Pazar günü ile başlayan hafta yılın ilk 1 haftası sayılır ve 00 ile gösterilir.
%w 0 ile 6 arasında haftadaki günün numarası. Pazar, haftanın sıfırına günüdür.
%u 00 ile 53 arasında hafta numarası. Yılın ilk Pazartesi günü ile başlayan hafta yılın ilk 1 haftası sayılır ve 00 ile gösterilir.
%x Yerele özgü kısa tarih gösterimi.
%x Yerele özgü saat gösterimi.

LC_ALL : Bütün ayıları alır.
LC_COLLATE: Dizgi karşılaştırması
LC_CTYPE :Karakter sınıflaması ve dönümü
LC_MONETARY : Para biçimlemesi
LC_NUMERIC : Ondalık ayraçlar.
LC_TIME :Tarih ve saat biçimi