C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
GeekJoan
Admin
Inlägg: 11092 Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna
Inlägg
av GeekJoan » 27 mars 2023, 11:21:13
Har ett script ligger och kör, men nu när den ställde om till sommartid så märker jag att den inte plockar tiden rätt.
Kan man lägga in så den plockar tiden från en viss zon så den ändrar själv efter sommar/vintertid?
Kod: Markera allt
function date_time(id)
{
date = new Date;
year = date.getFullYear();
month = date.getMonth();
months = new Array('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec');
d = date.getDate();
day = date.getDay();
days = new Array('Söndag -', 'Måndag -', 'Tisdag -', 'Onsdag -', 'Torsdag -', 'Fredag -', 'Lördag -');
h = date.getHours();
if(h<10)
{
h = "0"+h;
}
m = date.getMinutes();
if(m<10)
{
m = "0"+m;
}
s = date.getSeconds();
if(s<10)
{
s = "0"+s;
}
result = ''+days[day]+' '+d+' '+months[month]+' '+year+' - '+h+':'+m+':'+s;
document.getElementById(id).innerHTML = result;
setTimeout('date_time("'+id+'");','1000');
return true;
}
MadModder
Co Admin
Inlägg: 31166 Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:
Inlägg
av MadModder » 27 mars 2023, 12:04:04
Javascript använder väl den lokala tiden på den dator scriptet körs?
GeekJoan
Admin
Inlägg: 11092 Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna
Inlägg
av GeekJoan » 27 mars 2023, 12:49:06
Ja, med det scriptet ovan så gör den det. Men det är ju det jag vill komma ifrån så den tar tiden från någon annan server där tiden går rätt.
agehall
Inlägg: 447 Blev medlem: 12 augusti 2020, 19:27:54
Inlägg
av agehall » 27 mars 2023, 12:54:25
Skicka tiden i valfritt format från servern? Det är alltid krångel med Javascript och Date om du frågar mig. Men det viktigaste är att man skickar med en referens i typ UTC och sedan justerar display-format/värde lokalt på klienten för att användaren ska förstå vad det är för tid man pratar om.
rvl
Inlägg: 6832 Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors
Inlägg
av rvl » 27 mars 2023, 13:02:44
Så du vill ha lokal tid men litar inte på klientens klocka, eller ens att...
...är rätt?
GeekJoan
Admin
Inlägg: 11092 Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna
Inlägg
av GeekJoan » 27 mars 2023, 13:06:33
Måste ju inte vara i just javascript.
Men jag kommer inte åt att ändra på datorn som det körs på.
MadModder
Co Admin
Inlägg: 31166 Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:
Inlägg
av MadModder » 27 mars 2023, 13:21:09
Du kommer inte åt den lokala datorn?
Försök lösa det med PHP då. Det körs på servern och tar tiden därifrån.
GeekJoan
Admin
Inlägg: 11092 Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna
Inlägg
av GeekJoan » 27 mars 2023, 15:40:54
Om jag kunde så skulle jag göra det.
MadModder
Co Admin
Inlägg: 31166 Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:
Inlägg
av MadModder » 27 mars 2023, 16:14:36
Kan å kan. Nåt språk kan du väl? Basic? Sen kommandoreferens på php.net för hjälp så är det snart fixat.
Det finns väldigt många exempel där.
MadModder
Co Admin
Inlägg: 31166 Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:
Inlägg
av MadModder » 27 mars 2023, 20:44:38
Nej det finns ingen setinterval i klientkoden som gör att den uppdaterar sig en gång i sekunden, vilket det gör i din kod.
Du måste ta det som plockar tiden och kombinera ihop det med din kod.
Kan ta en titt på det imorgon eftermiddag om du inte klurat ut det innan dess.
rvl
Inlägg: 6832 Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors
Inlägg
av rvl » 27 mars 2023, 21:17:46
Funkar dethär?
Kod: Markera allt
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Test</h1>
<h2>Geekjoan</h2>
<p>lorem ipsum</p>
<p id="joan"></p>
<script>
var xmlHttp;
function srvTime(){
try {
//FF, Opera, Safari, Chrome
xmlHttp = new XMLHttpRequest();
//console.log("geek");
}
catch (err1) {
//IE
try {
xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (err2) {
try {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (eerr3) {
//AJAX not supported, use CPU time.
alert("AJAX not supported");
}
}
}
xmlHttp.open('HEAD',window.location.href.toString(),false);
xmlHttp.setRequestHeader("Content-Type", "text/html");
xmlHttp.send('');
return xmlHttp.getResponseHeader("Date");
}
var st = srvTime();
var date1 = new Date(st);
var localTime = new Date();
document.write("Local machine time was: <br>" + localTime + "<br>");
document.write("Server time was: <br>" + date1);
var st = srvTime();
var date = new Date(st);
function date_time(id)
{
st = srvTime();
date = new Date(st);
//console.log('debug', date);
year = date.getFullYear();
month = date.getMonth();
months = new Array('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec');
d = date.getDate();
day = date.getDay();
days = new Array('Söndag -', 'Måndag -', 'Tisdag -', 'Onsdag -', 'Torsdag -', 'Fredag -', 'Lördag -');
h = date.getHours();
if(h<10)
{
h = "0"+h;
}
m = date.getMinutes();
if(m<10)
{
m = "0"+m;
}
s = date.getSeconds();
if(s<10)
{
s = "0"+s;
}
result = ''+days[day]+' '+d+' '+months[month]+' '+year+' - '+h+':'+m+':'+s;
document.getElementById(id).innerHTML = result;
setTimeout('date_time("'+id+'");','1000');
return true;
}
date_time("joan");
</script>
</body>
</html>
agehall
Inlägg: 447 Blev medlem: 12 augusti 2020, 19:27:54
Inlägg
av agehall » 27 mars 2023, 21:58:52
MadModder skrev: ↑ 27 mars 2023, 13:21:09
Försök lösa det med PHP då. Det körs på servern och tar tiden därifrån.
Oavsett vad frågan är så är svaret ALDRIG PHP. Det är ett enda stort säkerhetshål som aldrig borde ha existerat.
Mickecarlsson
EF Sponsor
Inlägg: 4757 Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:
Inlägg
av Mickecarlsson » 27 mars 2023, 22:05:32
Det är din åsikt, den får du gärna ha, men jag håller definitivt inte med dig.