# MIDlet + Datum in String



## Markus L (17. Nov 2006)

Hallo!

Ich habe erst vor ein paar Wochen meine ersten Zeilen Code in ein MIDlet gesetzt. Nun habe ich folgende Problematik. Auf der einen Seite habe ich einen String in welchem ein Datum gespeichert ist. Und zwar wie folgt "17.11.2006". Nun möchte ich vergleichen ob dieses Datum jünger oder älter ist als das heutige Datum. Jetzt sollte ich meiner Meinung nach diesen String irgendwie in ein Date-Objekt umwandeln?!? Ich weiss jedoch nicht wie? In den MIDlet steht nämlich für die Klasse Date nur die Konstruktoren Date() und Date(long) zur Verfügung. 

Meine Frage nun an euch: Muss ich überhaupt in ein Date-Objekt umwandeln? Wenn ja wie stelle ich das in einem MIDlet an?

Vielen Dank schon mal im Voraus
mfg
Markus


----------



## SlaterB (17. Nov 2006)

gibt es Klassen wie DateFormat oder SimpleDateFormat?
gibt es Calendar, GregorianCalendar?

natürlich kann man auch Strings untereinander vergleichen,
zumindest solltest du nach Tagen/ Monaten/ Jahen trennen,
wenn du dafür eigene Datum-Objekte baust,
dann ist das der Anfang zu dem was alles die Bibliotheksklassen können


----------



## Markus L (17. Nov 2006)

Calendar und auch GregorianCalendar bereits ausprobiert hat aber nicht gefunkt. DateFormat und SimpleDateFormat ist meines Wissenes ja nur zum formatieren da.

Um nochmals meine Problematik zu verdeutlichen habe ich hier einen ganz simplen Quellcode geschrieben. Bedingung ist natürlich, dass die Klasse "extends MIDLet" ist, weil es eine Handyapplikation werden soll.

/**
 * 
 */
//Quellcode - Anfang
import java.util.Date;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
 * @author 
 * Erstellt am 12.10.2006
 */
public class main extends MIDlet{
	static main instance;
	Alert a;
	String datum = "15.11.2006";

	public main(){
		a = new Alert ("Alarm");
		a.setTimeout(Alert.FOREVER); 

		//Wie kann ich an dieser Stelle den String Datum mit
		//dem heutigen Datum vergleichen und das jüngere Datum 
		//ausgeben lassen?
		if(???????){
			a.setString(new Date().toString());
		}else{
			a.setString(datum);
		}

		instance = this;

	}
	protected void startApp() throws MIDletStateChangeException {
		// TODO Auto-generated method stub
		Display.getDisplay(this).setCurrent(a);
	}

	protected void pauseApp() {
		// TODO Auto-generated method stub

	}

	protected void destroyApp(boolean arg0) {
		// TODO Auto-generated method stub

	}

	public void quitApp(){
	}

	/**
	 * @param args
	 */
}
//Quellcode -Ende

Nochmals vielen Dank im Voraus
mfg
Markus


----------



## SlaterB (17. Nov 2006)

SimpleDateFormat hat in J2SE eine parse()-Operation,
dein Programm ist ziemlich egal,

du brauchst ein Datum, letztlich ein long aus einem String,
das kann entweder eine Bibliotheksklasse wie SimpleDateFormat,
oder du musst es selber parsen,
alles andere ist eigentlich egal


----------



## Markus L (18. Nov 2006)

Vielen Dank für Deine Hilfe. Leider habe ich keinen Schimmer wie ich das nun anstellen soll. Vielleicht kannst du meinen Quelltext erweitern?

Danke
mfg
Markus


----------



## SlaterB (19. Nov 2006)

zunächst mal steht immer noch die Frage im Raum, ob und wenn ja welche der 4 von mir genannten Klassen vorhanden sind,
weißt du vielleich die URL der passenden API?
bei den APIs auf der Sun-Seite im J2MI-Bereich siehts eher düster aus

falls du was selber bauen willst, wäre das einfachste zunächst mal,
den String nur nach Tag, Monat und Jahr zu zerlegen,
was dann mit Calendar.set hoffentlich bereits zu einem guten Datum führt


----------

