Merhaba arkadaşlar. Aşağıdaki Javascrşpt ile dünyanın farklı yerlerindeki saatleri göstermeye çalışıyorum. Birden çok yerin saatini aynı sayfada göstermek için aynı kodu 6-7 kez kopyalıyorum. Bunun daha pratik yolu var mı? Yardımcı olursanız sevinirim.
var yer = 'America/New_York';
var yer1 = 'Europe/Paris';
var yer2 = 'Europe/Moscow';
var yer3 = 'Europe/Istanbul';
var yer4 = 'Europe/London';
var yer5 = 'Asia/Shanghai';
//Yukarıdaki kod ile zaman dilimlerini belirleyerek aşağıdaki kodları çoğaltıp ilgili alanları değişiyorum. yer1, yer2..
var aSaat = document.getElementById("saat"); //aSaat adında bir değişken tanımladık, bu ismi çoğaltınca değişiyorum
function format(saatcek) {
var bSaat = saatcek.toString();
if (bSaat.length == 1) {
return "0" + bSaat;
} else {
return bSaat;
}}
function saatGuncelleme() { //Burada bilgisayarımızdan saati çekiyoruz.
var tarih = new Date();
var TimeZone = new Date(tarih.toLocaleString('en-US', { timeZone: yer })); //yer ismini çoğaltınca değişiyorum.
var saat = TimeZone.getHours(); //Burada saati çekiyoruz.
var dakika = TimeZone.getMinutes(); //Burada dakikayı çekiyoruz.
var saniye = TimeZone.getSeconds(); //Burada saniyeyi çekiyoruz.
aSaat.textContent = format(saat) + ":" + format(dakika) + ":" + format(saniye); //Burada ekranımıza çıktımızı veriyoruz. assat ismini çoğaltınca değişiyorum
}
setInterval(saatGuncelleme, 1000);
javascript çoğaltmak
5
●125
- 03-08-2020, 10:54:07Yanıt için teşekkürler. Ancak javascript tecrübem fazla yok. Kod örneği verirseniz belki yapabilirim.mustafaz adlı üyeden alıntı: mesajı görüntüle
- 03-08-2020, 10:58:40https://jsbin.com/faqedanoga/1/edit?html,js,output
İki dk birşeyler karaladım, buradan bakabilirsin. - 03-08-2020, 11:13:09Divin idisi 'time_<bolgenin_adi>(new_york,paris,moscow,istanbu l vb)'
<div id="time_new_york"></div> <div id="time_paris"></div> <div id="time_moscow"></div>
const ZONE_LIST = [ 'America/New_York', 'Europe/Paris', 'Europe/Moscow', 'Europe/Istanbul', 'Europe/London', 'Asia/Shanghai' ]; const INIT_PROPS = ZONE_LIST.map(function(ZONE){ let elem_id = "time_"+ZONE.split('/')[1].toLowerCase(); return { el:document.getElementById(elem_id), id:elem_id, timeZone:ZONE } }); //Yukarıdaki kod ile zaman dilimlerini belirleyerek aşağıdaki kodları çoğaltıp ilgili alanları değişiyorum. yer1, yer2.. function format(saatcek) { var bSaat = saatcek.toString(); if (bSaat.length == 1) { return "0" + bSaat; } else { return bSaat; }} function saatGuncelleme(elem,zone) { //elementi ve bölgeyi gönderiyoruz. //Burada bilgisayarımızdan saati çekiyoruz. //var tarih = new Date(); //var TimeZone = new Date(tarih.toLocaleString('en-US', { timeZone: yer })); //yer ismini çoğaltınca değişiyorum. let time = new Date(new Date().toLocaleString('en-US', { timeZone: zone })) if(elem){ let saat = time.getHours(); //Burada saati çekiyoruz. let dakika = time.getMinutes(); //Burada dakikayı çekiyoruz. let saniye = time.getSeconds(); //Burada saniyeyi çekiyoruz. elem.textContent = format(saat) + ":" + format(dakika) + ":" + format(saniye); //Burada ekranımıza çıktımızı veriyoruz. assat ismini çoğaltınca değişiyorum } } INIT_PROPS.forEach(function(PROP){ if(PROP.el){ setInterval(function(){ saatGuncelleme(PROP.el,PROP.timeZone); },1000) }else{ console.error(PROP.id+' idsi bulunamadı.'); } }); - 03-08-2020, 12:05:39Teşekkür ederim. Elinize sağlık, Çok işime yaradı.Obsidya adlı üyeden alıntı: mesajı görüntüledarness adlı üyeden alıntı: mesajı görüntüle