Rätta mig om jag har fel, men läser inte JavaScript av Windows-klockan när den visar aktuell tid?
Om scriptet ska bli helt idiotsäkert är serverbaserad programmering att föredra.
------------------
/ jeps0
8 svar · 316 visningar · startad av mattiasnordin
Går det med javascript att visa tid i olika tidzoner? Jag vet hur man visar den lokala klockans tid i ett inputfält men går det att visa den nuvarande tiden i tex New York. Rätt tid måste visas oberoende om du surfar från en dator i USA eller i sverige.
------------------
---------------------
http://www.absolut.nu
---------------------
Rätta mig om jag har fel, men läser inte JavaScript av Windows-klockan när den visar aktuell tid?
Om scriptet ska bli helt idiotsäkert är serverbaserad programmering att föredra.
------------------
/ jeps0
Som sagt så hämtas tiden från operativsystemet, men man vet alltid vad GMT är.
Så om du vet när olika ställen byter till sommartid och vad skillnaden är i tid mot GMT, går det att räkna ut.
Exempel: Washington DC ligger 5 timmar efter GMT och har sommartid mellan 1 april, kl: 02:00 och 28 oktober, kl: 03:00 (vilket ger 4 timmar efter GMT).
Kolla på nedanstående:
<script>
var nowYear=new Date().getFullYear();
var corrSE= ((new Date().getTime()-new Date("October 28, "+nowYear+" 03:00:00").getTime())<0 && (new Date("March 25, "+nowYear+" 02:00:00").getTime()-new Date().getTime())<0)? 2 : 1
var corrUS= ((new Date().getTime()-new Date("October 28, "+nowYear+" 02:00:00").getTime())<0 && (new Date("April 1, "+nowYear+" 02:00:00").getTime()-new Date().getTime())<0)? -4 : -5
var corrGB= ((new Date().getTime()-new Date("October 28, "+nowYear+" 03:00:00").getTime())<0 && (new Date("March 25, "+nowYear+" 01:00:00").getTime()-new Date().getTime())<0)? 1 : 0
var now= new Date().toGMTString();
var nowString=now.substring(0,now.length-3)
var GMTdate= new Date(nowString)
var SEdate= new Date(nowString)
var USdate= new Date(nowString)
var GBdate= new Date(nowString)
SEdate.setHours(SEdate.getHours()+corrSE)
USdate.setHours(USdate.getHours()+corrUS)
GBdate.setHours(GBdate.getHours()+corrGB)
document.write("Klockan är (timme) på resp ort:"+"<br>")
document.write("<b>GMT:</b> "+GMTdate.getHours()+"<br>")
document.write("<b>Stockholm:</b> "+SEdate.getHours()+"<br>")
document.write("<b>Washington DC:</b> "+USdate.getHours()+"<br>")
document.write("<b>London:</b> "+GBdate.getHours()+"<br>")
</script>
------------------
- J-O-H-N-S-E-N -
------------------
Man tackar för den fina lösningen. Jag läste mig till att det skulle gå men fick inte till syntaxen. Jag är självlärd på javascript så ibland blir det fel.
<kod>
var corrSE= ((new Date().getTime()-new Date("October 28, "+nowYear+" 03:00:00").getTime())<0 && (new Date("March 25, "+nowYear+" 02:00:00").getTime()-new Date().getTime())<0)? 2 : 1
var corrUS= ((new Date().getTime()-new Date("October 28, "+nowYear+" 02:00:00").getTime())<0 && (new Date("April 1, "+nowYear+" 02:00:00").getTime()-new Date().getTime())<0)? -4 : -5
var corrGB= ((new Date().getTime()-new Date("October 28, "+nowYear+" 03:00:00").getTime())<0 && (new Date("March 25, "+nowYear+" 01:00:00").getTime()-new Date().getTime())<0)? 1 : 0
</kod>
Jag är inte helt med på vad (x : -1, -5, 0) den sista nollan gör sist i koden? Vad styr du med denna?
Hur som helst tack för att du löste mitt problem. Jag är nästan med i matchen ;-)
------------------
http://www.absolut.nu
Nu är jag inte med, var står x : -1, -5, 0 ?
------------------
- J-O-H-N-S-E-N -
------------------
Jag var lite otydlig. Hoppas att nedan fungerar bättre...
[kod]
var corrUS= ((new Date().getTime()-new Date("October 28, "+nowYear+" 02:00:00").getTime())<0 && (new Date("April 1, "+nowYear+" 02:00:00").getTime()-new Date().getTime())<0)? -4 : -5
[kod]
(Jag undrar över sista -5)
------------------
http://www.absolut.nu
Vad sne jag blir! Varför kan man inte FÖRHANDSGRANSKA innan man klickar posta? Då slipper man alla nybörjarfel som tex jag genererar. -huuuummm-
var corrUS= ((new Date().getTime()-new Date("October 28, "+nowYear+" 02:00:00").getTime())<0 && (new Date("April 1, "+nowYear+" 02:00:00").getTime()-new Date().getTime())<0)? -4 : [red]-5[/red]
------------------
http://www.absolut.nu
litet tips som är lite ot:
du kan alltid gå in och redigera ett inlägg i efterhand. det gör du genom att klicka på ikonen med pennan precis ovanför aktuellt inlägg. :)
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>
var variabel= ( värde<10 )? 2 : 1 är samma sak som att skriva:
var variabel
if( värde<10 ){variabel= 2}
else{variabel= 1}
Nedanstående betyder alltså:
corrSE är lika med 2, om vi befinner oss mellan 25/4 i år och 28/10 i år. Annars är corrSE lika med 1
(Dvs. förhållandet till GMT om vi har sommartid eller inte).
var corrSE= ((new Date().getTime()-new Date("October 28, "+nowYear+" 03:00:00").getTime())<0 && (new Date("March 25, "+nowYear+" 02:00:00").getTime()-new Date().getTime())<0)? 2 : 1
------------------
- J-O-H-N-S-E-N -
------------------