Frage zu einem Datumsprogramm

oldboy

Grünschnabel
Hallo liebes Forum

ich haette da eine Frage. Also ich versuche gerade ein Datumsprogramm zu erstellen, es soll
das Datum aus einem String auslesen(egal in welcher Reihenfolge es geschrieben worden ist) koennen, ich bin jetzt bei dem Problem falls jemand statt 01.01.2007 --01.01.07 schreibt
sollen die 2 und die 0 noch an den String angehaengt werden wie mache ich das am besten?
Vielleicht kann mir jemand von euch weiterhelfen vielen Dank!
 
Um mit verschiedenen Datumsformaten umzugehen sollte man SimpleDateFormat benutzen.

Ansonste ist der normale String sehr statisch und speicherintensiv für viele Operationen.

Daher wenn du in einem String herum baust, benutze StringBuffer(synchronisiert) oder StringBuilder (nicht synchronisiert). Dort gibt es auch eine Insert Funktion
 
Java:
public class Test {

	public static void main(String[] args) {
		String date = "01.01.07";

		if(date.matches("^[0-9]{1,2}\\.[0-9]{1,2}\\.[0-9]{2}$")) {			
			String year = date.substring(date.lastIndexOf('.') + 1, date.length());
			date = date.replaceFirst("[0-9]{2}$", "20" + year);			
		}
		
		System.out.println(date);
	}
}
 
Zuletzt bearbeitet von einem Moderator:
Und der dritte Thread von Dir zu diesem Thema....

  1. This()
  2. http://www.tutorials.de/forum/java/...nn-einzeln-nach-tag-monat-jahr-ausgeben.html()
  3. http://www.tutorials.de/forum/java/...en-pruefen-und-falls-vorhanden-ersetzen.html()


Java:
import java.util.StringTokenizer;

public class StrTokenizerExample {
	

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		replace("01.01.2007");
		replace("01.02.07");		
	}
	
	private static void replace(String s) {
		s = s.replace(String.valueOf(s.charAt(2)), " ");
	    StringTokenizer st = new StringTokenizer(s);
	    int i=0;
	    while (st.hasMoreTokens()) {
	    	String token = st.nextToken();
	    	//System.out.print("i=> "+i+" ==> ");
	    	if(i==2 && token.length()==2) {
	    		token = "20"+token;
	    	} 
	    	
	    	System.out.println(token+" ");    	
	    	//i++;
	    }
	}

}
 
Darum geht es nicht, Du kannst Fragen stellen soviele Du möchtest. Nur es ist schon schwer genug für die Mods den Überblick zu wahren und wenn jeder für ein Thema 3 Threads aufmachen würde, wäre das Board total übersichtlich und keinem geholfen.....
 
ok danke nochmal fuer die Aufklaerung Ronin-Jay
dann frage ich gleich etwas neues
wenn ich jetzt aber 97 da stehen hab funktioniert das ja nicht weil ja 2097 daraus entsteht
ich muss also aus dem '20' eine Variable machen die dann ueber eine if/else Abfrage erkennt
ob sichs jetzt um 19... oder 20... handelt
wie wuerde man dann das schreiben?
 
Zurück