Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » Auszeichnungssprachen » 2 Daten in Formular vergleichen Antworten
2 Daten in Formular vergleichen

Roadrunner
Pixelschubser


Beiträge: 16


Hallo, ich bin es mal wieder!

Besteht die Möglichkeit, 2 Daten aus einem Formular miteinander mit JavaScript zu vergleichen?? Möchte nämlich prüfen, ob das eine Datum vor dem anderen ist! Aber irgendwie funktioniert mein Kram den ich fabriziere nicht!

Vielleicht seit ihr ja besser drauf!

Greets

  Profil   Editieren   Zitieren

epitaxy
Fachidiot


Beiträge: 117


klar gehts, warum funktioniert deins nicht ? und gib mal code her

  Profil   Editieren   Zitieren

Roadrunner
Pixelschubser


Beiträge: 16


Kannst Du mir mal nen Beispielcode geben. Hab jetzt erstmal alles wieder weggehauen. Hab nur soviel mitbekommen, dass ich das Datum in UTC umrechnen muss!!! Ist das korrekt????

  Profil   Editieren   Zitieren

epitaxy
Fachidiot


Beiträge: 117


hab kein code da, aber auch grad nicht die zeit den zu schireben,
aber utc stimmt, dann einfach vergleichen ....
ist nciht schwer ...

  Profil   Editieren   Zitieren

Roadrunner
Pixelschubser


Beiträge: 16


Irgendwie trennt mir javascript das datum nicht, so dass ich kein utc berechnen oder vergleichen kann! Mist. naja muss ich mal weiter testen!

  Profil   Editieren   Zitieren

Omega2k
Otto-Normal-Poster


Beiträge: 55


Wie wird denn Dein Datum angegeben?

TT-MM-JJJJ oder TT.MM.JJJJ oder anders? Dann kann ich Dir sicher weiterhelfen... Du musst den String einfach "parsen" und nach den Trennzeichen in Arrays umwandeln. Dann kannst Du einfach die einzelnen Elemente zur Weiterverarbeitung nutzen...

---


@ http://www.omega2k.de

  Profil   Website   Editieren   Zitieren

Roadrunner
Pixelschubser


Beiträge: 16


Also das Datum wird im Format TT.MM.JJJJ ausgegeben!! Aber wie soll es denn mit Hilfe von JavaScript in einen Array geschrieben werden??? Irgendwie hab ich da nen Blackout!

Besten Dank für die Hilfe!!!

  Profil   Editieren   Zitieren

Omega2k
Otto-Normal-Poster


Beiträge: 55


Müsste so klappen... ist zwar keine "timestamp" im PHP Sinne, aber du müsstest halt die Javascript-Timestamp durch 1000 teilen... der gibt die ja in Millisekunden aus nicht in Sekunden...

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15:
<script language="JavaScript" type="text/javascript">
var Datum  = new Date(); //Datum heute
var tt   = Datum.getDate(); //Tag heute
var mm   = Datum.getMonth() + 1; //Monat heute
var jjjj = Datum.getFullYear(); //Jahr heute

var set = "24.12.2003"; // das Datum, das Du eingelesen hast...
var sdatum=set.split("."); // sdatum enthält jetzt: sdatum[0]=24; sdatum[1]=12; sdatum[2]=2003;
var timestamp_set=Date.UTC(sdatum[2],sdatum[1],sdatum[0]); // timestamp in ms vom Datum
var timestamp_now=Date.UTC(jjjj,mm,tt); // timestamp von heute

if (timestamp_set>timestamp_now)... //usw.
</script>


---


@ http://www.omega2k.de

  Profil   Website   Editieren   Zitieren

Roadrunner
Pixelschubser


Beiträge: 16


Besten Dank, werde das gleich mal testen!

  Profil   Editieren   Zitieren

epitaxy
Fachidiot


Beiträge: 117


hiho, du kannst mit split auf "." dir die tage , monate und jahr holen und umsetzten dann vergleichen.

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28:

<html>
<head>
<title>datetest</title>
</head>
<script language="JavaScript" type="text/javascript">
<!-- 
function datechek (date1,date2) {
	var datum1 = date1.split(".");
	var compareDate1 = datum1[2] + datum1[1] + datum1[0];
	
	var datum2 = date2.split(".");
	var compareDate2 = datum2[2] + datum2[1] + datum2[0];
	
	if (compareDate1 < compareDate2) {
	alert(compareDate1);
	alert(compareDate2);
	}
}


// -->
</script>
<body onload="datechek('12.02.1999','01.01.2002');">
</body>
</html>



allerdings muss so dein datum auch bei daten wie z.b. 1.1.2000 mit 01.01.2002 übergeben werden ...

greetz

Diese Nachricht wurde geändert von: epitaxy
  Profil   Editieren   Zitieren

epitaxy
Fachidiot


Beiträge: 117


ahso naja zu lange gebrauchtoort

  Profil   Editieren   Zitieren

Omega2k
Otto-Normal-Poster


Beiträge: 55


naja, macht nix...
aber bei Deiner Methode wird nicht die timestamp verglichen... wenn jemand 1.1.2004 eingibt, statt 01.01.2004 funzt das nicht. Du müsstest für jeden Tag und Monat noch einbauen:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9:
if (datum1[1].length<2) datum1[1]="0"+datum1[1];

if (datum1[0].length<2) datum1[0]="0"+datum1[0];

if (datum2[1].length<2) datum2[1]="0"+datum2[1];

if (datum2[0].length<2) datum2[0]="0"+datum2[0];


---


@ http://www.omega2k.de

  Profil   Website   Editieren   Zitieren

epitaxy
Fachidiot


Beiträge: 117


jo hab i ja gesagt des es nicht bei z.b. 1.1.2000 funktioniert .. aber wer weiss vieleicht gibt es bei ihm ja auch immer im richtigen format die daten zurück

Diese Nachricht wurde geändert von: epitaxy
  Profil   Editieren   Zitieren
 

Antworten
Nach oben