Avatar billede andersthingholm Nybegynder
16. august 2004 - 21:34 Der er 6 kommentarer og
1 løsning

Konverter string til dato

Hej,

Jeg har en streng som denne:

2004-08-16T00:00:00.0000000+02:00

Er det muligt at konvertere den direkte til Date uden at skulle splitte den op ved 'T' og '+' ?

VH

Anders
Avatar billede pyroman Nybegynder
16. august 2004 - 21:57 #1
Nej... men man kan hurtigt lave sin egen funktionder gør det, hvis man er sikker på at formatet ser sådan der ud...
Avatar billede andersthingholm Nybegynder
16. august 2004 - 21:59 #2
ja, formatet ser sådan ud, men da det kommer fra en webservice, tænkte jeg på om Flash kunne 'oversætte' det til en Flash date()
Avatar billede pyroman Nybegynder
16. august 2004 - 22:34 #3
Sådan her:


function formatDate(str){
    var ye = Number(str.substring(0,4));
    var mo = Number(str.substring(5,7))-1;
    var da = Number(str.substring(8,10));
    var ho = Number(str.substring(11,13));
    var mi = Number(str.substring(14,16));
    var se = Number(str.substring(17,19));
    var ms = Math.round(Number(str.substring(20,27))/10000);
    var of = str.substring(27,28);
    var ofh = Number(of+str.substring(28,30));
    var ofm = Number(of+str.substring(31,33));
    var date = new Date();
    date.setUTCFullYear(ye, mo, da);
    date.setUTCHours(ho-ofh, mi-ofm, se, ms);
    return date;
}

var tid = getFormatedDate("2004-08-16T00:00:00.0000000+02:00");
trace(tid);


så skulle den gerne skrive, hvad det svarer til i vores tidszone (hvilket gerne skulle være det samme) - som Date objekt...
Avatar billede pyroman Nybegynder
16. august 2004 - 22:37 #4
Hmm - egentligt utroligt så mange Dato spørgsmål der har været på det sidste... ;)
Avatar billede pyroman Nybegynder
16. august 2004 - 22:38 #5
hov - ændrede lidt på koden - skal se sådan her ud:

function getFormatedDate(str){
    var ye = Number(str.substring(0,4));
    var mo = Number(str.substring(5,7))-1;
    var da = Number(str.substring(8,10));
    var ho = Number(str.substring(11,13));
    var mi = Number(str.substring(14,16));
    var se = Number(str.substring(17,19));
    var ms = Math.round(Number(str.substring(20,27))/10000);
    var of = str.substring(27,28);
    var ofh = Number(of+str.substring(28,30));
    var ofm = Number(of+str.substring(31,33));
    var date = new Date();
    date.setUTCFullYear(ye, mo, da);
    date.setUTCHours(ho-ofh, mi-ofm, se, ms);
    return date;
}

var tid = getFormatedDate("2004-08-16T00:00:00.0000000+02:00");
trace(tid);
Avatar billede andersthingholm Nybegynder
17. august 2004 - 08:19 #6
OK, smider du et svar?
Avatar billede pyroman Nybegynder
17. august 2004 - 19:17 #7
Jepser :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester