Ohjelmointiin liittyvä asia, mutta ei haeta valmista funktiota jostain kirjastosta, vaan laskukaava funktiolle, joka palauttaa arvon. Funktiolle annetaan kaksi kokonaislukua:
– ns. "epoch"-aika, mikä ilmoittaa ajan sekunteina verrattuna ajankohtaan "torstai 1.1.1970 klo 00.00.00" aikavyöhykkeellä 0
– aikavyöhyke, mikä on tunteja
Funktio palauttaa kokonaisluvun 0...6, jossa 0 on sunnuntai, 1 maanantai jne, esim:
f(0,0)=4
f(86400,0)=5
f(-86400,0)=3
f(43200,0)=4
f(43200,12)=5
Eri sekuntiarvoja ja aikavyöhykkeitä testata voi vaikka tuolla: https://www.unixtimestamp.io/timezone/converter/
– ns. "epoch"-aika, mikä ilmoittaa ajan sekunteina verrattuna ajankohtaan "torstai 1.1.1970 klo 00.00.00" aikavyöhykkeellä 0
– aikavyöhyke, mikä on tunteja
Funktio palauttaa kokonaisluvun 0...6, jossa 0 on sunnuntai, 1 maanantai jne, esim:
f(0,0)=4
f(86400,0)=5
f(-86400,0)=3
f(43200,0)=4
f(43200,12)=5
Eri sekuntiarvoja ja aikavyöhykkeitä testata voi vaikka tuolla: https://www.unixtimestamp.io/timezone/converter/
Vastaukset 6
Vanhimmat
Funktin pitäisi siis sisältää myös karkaussekuntien taulukko? Ne kun eivät ole laskettavissa mistään kaavasta.
tämä juttu liittyykin juri sellaiseen missä tsrvitssn todlla paljon bittileveyttä laskentaan, jos haluaa nopeasti laskiea niin... muiaraakseneno peräti 2048-bittiä leveyttä laskea numjeroitta yleensä grafiikkaqkiihdyttimillä vähintään 512 bittiä aina lasdkr4nnassa
nutts miten esität sen vaikka niin sen luvun... hmm jo ei pascal-kielellä, tarvitaan asssembly taitoa se myös directx-kokemusta jorra toimii :D
aluperäiseen kysymykseesi niin aiheuttaa laskennallisia ongelmia tuo normaali-aika ja kesä-aika... joskus mutta tuli mieleen jännä juttu, millä itse tulostan omat koko vuoden kalenterini kerrrALLA..
linkki sivustooon johon itse voit laittaa päivät ja kuut... noniin kuuntele tarkati
http://www.viikko-kalenteri.com/aau/2023/6
jos muutat vaikka; http://www.viikko-kalenteri.com/aau/2024/7
ja niistä kuvista itse piirreskellä omat kalenterit
jaa tainneet poistaaa AHNEUKSISSAAN TUON... on se kumma tämä maailman sairaus tämä AHneus... kuolemansynti...
// JavaScriptillä
const getWeekday = (epochTime, timezone) => {
,const days = ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"];
,const daysInSeconds = 86400; // yksi päivä sekunteina
,// Lisätään aikavyöhyke ja otetaan modulo 7 varmistaaksemme, että saamme luvun väliltä 0...6
,let dayIndex = Math.floor((epochTime / daysInSeconds + timezone) % 7);
,if (dayIndex < 0) {
, ,dayIndex = 7 + dayIndex;
,}
,return days[dayIndex];
}
console.log(getWeekday(0, 0)); , // Tulostaa "torstai"
console.log(getWeekday(86400, 0)); , // Tulostaa "perjantai"
console.log(getWeekday(-86400, 0)); , // Tulostaa "keskiviikko"
console.log(getWeekday(43200, 0)); , // Tulostaa "torstai"
console.log(getWeekday(43200, 12)); , // Tulostaa "perjantai"