Avatar billede diz Nybegynder
15. marts 2004 - 13:29 Der er 10 kommentarer og
1 løsning

konverter dato fra dag-måned-år til måned-dag-år

Hejsa,

Er der nogen der kan hjælpe med ovenstående?

Jeg har en dato i formatet dd-mm-yyyy, men skal bruge den i formatet mm-dd-yyyy.

Please help

/sune
Avatar billede Slawomir Seniormester
15. marts 2004 - 13:30 #1
øjeblik
Avatar billede Slawomir Seniormester
15. marts 2004 - 13:32 #2
du kan kigge på denne http://www.eksperten.dk/spm/472009 mens jeg lige laver den om
Avatar billede Slawomir Seniormester
15. marts 2004 - 13:37 #3
sådan

<html><head>
<script>
/*Current date script credit:
JavaScript Kit (www.javascriptkit.com)
Over 200+ free scripts here!
*/
var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
year+=1900
var day=mydate.getDay()
var month=mydate.getMonth()
var daym=mydate.getDate()
if (daym<10)
daym="0"+daym
var dayarray=new Array("søndag","mandag","tirsdag","onsdag","torsdag","fridag","lørdag")
var montharray=new Array("januar","februar","marts","april","maj","juni","juli","august","september","october","november","december")
document.write("<small><font color='000000' face='Arial'><b>"+dayarray[day]+" "+montharray[month]+" "+daym+" "+year+"</b></font></small>")
</script></head><body>
<p align="center"><font face="arial" size="-2">This free script provided by</font><br>
<font face="arial" size="-2"><a href="http://javascriptkit.com">JavaScript
Kit</a></font></p></body></html>

//Burgerking
Avatar billede nute Nybegynder
15. marts 2004 - 13:39 #4
Burgerking >> det er da rimelig overkill når han søger formatet 'mm-dd-yyyy'

<script language="JavaScript" type="text/javascript">
<!--
var objDate = new Date();
var intDate = objDate.getDate();
var intMonth = objDate.getMonth() + 1;
var intYear = objDate.getFullYear();
var strDate = ( intMonth < 10 ? "0" + intMonth : intMonth ) + "-" + ( intDate < 10 ? "0" + intDate : intDate ) + "-" + intYear;
alert( strDate );
//-->
</script>
Avatar billede Slawomir Seniormester
15. marts 2004 - 13:50 #5
nute jeg tro at du har ret :-)

det var måske mere noget i den stil han søger

<html><head>
<script>
/*Current date script credit:
JavaScript Kit (www.javascriptkit.com)
Over 200+ free scripts here!
*/
var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
year+=1900
var day=mydate.getDay()
var month=mydate.getMonth()+1
if (month<10)
month="0"+month
var daym=mydate.getDate()
if (daym<10)
daym="0"+daym
document.write("<small><font color='000000' face='Arial'><b>"+month+"/"+daym+"/"+year+"</b></font></small>")
</script></head><body>
<p><center>
<p align="center"><font face="arial" size="-2">This free script provided by</font><br>
<font face="arial, helvetica" size="-2"><a href="http://javascriptkit.com">JavaScript
Kit</a></font></p></body></html>

/burgerking
Avatar billede diz Nybegynder
15. marts 2004 - 13:55 #6
hmmm...jeg har siddet og rodet lidt med det..

jeg har et tekstfelt på siden, hvor brugeren skriver datoen i formatet dd-mm-åååå (16-02-2004). Herefter kalder jeg ConvertDate(strDato), hvor jeg bare smider strengen med som den ser ud fra tekstfelter:

function ConvertDate(strDato) {
   
    var dato = new Date(strDato);
    alert(dato);
}

Det sjove er bare at jeg ikke får den rigtige dato smidt i hovedet igen. Hvis jeg f.eks skriver 16-04-2004 udskriver den 'Sat apr 2 00:00:00 UTC+0200 2005' hvilket må siges at være forkert..

Så det må vel være den måde js læser datoen på der er forkert.. altså jeg smider den ind i det forkerte format

/Sune
Avatar billede nute Nybegynder
15. marts 2004 - 13:56 #7
burgerking >> du har jo stadig ikke det korrekte format ... han vil have 'mm-dd-yyyy' - ikke 'mm/dd/yyyy' !!

desuden er det hellere ikke nødvendigt at gøre dette:

var year=mydate.getYear()
if (year < 1000)
year+=1900

når du kan få det aktuelle år ud med funktionen 'getFullYear'

/nute
Avatar billede diz Nybegynder
15. marts 2004 - 14:02 #8
hvis jeg skriver datoen som 02-16-2004, så er det den korrekte. Så det jeg har brug for er at ændre strengen 16-02-2004 -> 02-16-2004

Er det måske noget RegExp eller hva det nu hedder?

/Sune
Avatar billede nute Nybegynder
15. marts 2004 - 14:03 #9
tja ... det er jo en lidt "farlig" måde at gøre det på, men den absolut nemmeste måde at gøre det på, er jo denne:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
<!--
function ConvertDate()
{
    var objTxtDate      = document.getElementById( "txtDate" );
    var objTxtNewDate     = document.getElementById( "txtNewDate" );
    var strDate = objTxtDate.value;
    var arrDate = strDate.split( "-" );
    objTxtNewDate.value = arrDate[1] + "-" + arrDate[0] + "-" + arrDate[2];
}
//-->
</script>
</head>

<body>

<form id="frm">
<input type="text" id="txtDate"><input type="button" onclick="ConvertDate()" value="Konvertér"><input type="text" id="txtNewDate">
</form></body>
</html>

/nute
Avatar billede diz Nybegynder
15. marts 2004 - 14:08 #10
det var præcis det jeg skulle bruge. Men hvorfor siger du det er farligt?

Jeg laver tjek af dato først. Er der andre ting der kan gå galt?

/sune

PS : Smid lige et svar
Avatar billede nute Nybegynder
15. marts 2004 - 14:14 #11
det jeg mener det er "farlig" fordi dato som fritekst altid er en dårlig løsning. personlig foretrækker jeg at begrænse brugerens muligheder for at angive datoer med at lave selects for dag, måned og år ... på den måde så eliminere man de fleste fejlkilder ... om ikke alle

/nute
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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