Dinamik bir gece modu yapmak istiyorum. Bunun için gün doğumundan batımına kadar olan süreyi hesaplamam gerekiyor.
Örnek:
Gündüz 07:00/18:00 arası gündüz teması
Akşam 18:00/07:00 arası gece teması
Yüklenmesini istiyorum. Bu durumda içinden çıkamadığım 2 konu var.
1. PHP ile bölgesel saat dilimini çekeceğim. Bu saat dilimini gece ve gündüz olarak nasıl hesaplayabilirim?
2. Saat biçimi olarak 24 değil, 12 saat kullanan ülkeler var. Bu durumda hesaplama nasıl yapılmalı?
PHP dinamik gece modu
6
●133
- 27-12-2020, 18:45:39
<?php // $_SERVER['REMOTE_ADDR'] Sayfayı Açan Kullanıcının Ip adresini bu değişken ile alıyoruz $json = file_get_contents( 'http://ip-api.com/json/'.$_SERVER['REMOTE_ADDR']); //Kullanıcıdan aldığımız Ip adresini ip-api.com üzeinden hangi ülkede /Bölgeden bağlantı yaptığını sorgulatıyoruz $ipData = json_decode( $json, true); //die(var_dump($ipData));//JSON Verisine göz atmak istiyorsanız busatırı aktif edin $tz = new DateTimeZone( $ipData['timezone']);//jsonun döndürdüğü zaman bölgesi verisini kullanarak bir DateTimeZone verisi oluşturuyoruz $now = new DateTime( 'now', $tz) ;//Bulunduğu Bölgenin şuanki saatinin ve tarihinin bilgisini alıyoruz $sekilYap=$now->format('Y-m-d H:i:s'); //Kullanıcının Orda Saat Kaç ayırmak için Fonksiyon tanımıyoruz function OrdaSaatKac($veri){ if(date("H",$veri) < 12){ return "Sabah Oluyor"; }elseif(date("H",$veri) > 11 && date("H",$veri) < 18){ return "Akşam Üstü"; }elseif(date("H",$veri) > 17){ return "Gece Oluyor"; } } echo "Şuanda " . $ipData['regionName']." de/da ".OrdaSaatKac(strtotime($sekilYap)); ?>
Demo: http://enesbiber.com.tr/ornekler/saatkac.php
Test Etmek için https://www.proxysite.com/ adresinden Server değiştirerek Kontrol edebilirsiniz Kolay geldin - 27-12-2020, 20:02:19AKSOYOGLU adlı üyeden alıntı: mesajı görüntüle
// 24-hour time to 12-hour time $time_in_12_hour_format = date("g:i a", strtotime("13:30")); // 12-hour time to 24-hour time $time_in_24_hour_format = date("H:i", strtotime("1:30 PM")); - 27-12-2020, 21:00:59PHP ile client saatlerini alamazsınız. Bu işi javascript ile yapmak zorundasınız.
https://darkmodejs.learn.uno/