Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
public static Date stringToDate(String s, String format) {
SimpleDateFormat sdfToDate = new SimpleDateFormat(format, Locale.GERMANY);
Date date = new Date();
try {
date = sdfToDate.parse(s);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
Aufruf dann z.B. mit stringToDate("2010_11_24_09_18_30", "yyyy_MM_dd_HH_mm_ss")
man müsste wissen, von welcher Klasse validform ein Objekt ist.
old=new.roll(Calender.Second,-1) kann aber auch nicht sein. Ist roll eine Klasse? Wenn ja müsste es erstens Roll heissen und zweitens
old=new Roll(Calender.Second,-1);
roll ist eine Methode der Klasse Calendar und nicht der Klasse String, daher kann man die auch nicht an einem Objekt vom Typ String aufrufen. !!Grundlagen!!
Du müsstest aus/anhand des Strings erst ein Objekt vom Typ Calendar erstellen, um diese Methode verwenden zu können.
ich hab in der StringtoDate Methode jeze die variable date, am ende kommt dann return date
Da is doch dann das Datum in der Variable date drin ?
old=Datum.dat3.roll(...) geht aber auch nich...diesmal unterschtreicht er mir date und sagt er kann es nich finden.
date is aber in der Klasse Datum, wird dort erzeugt und mit dem fertigen Datum gefüllt.
Die Methode is public, also sollte er ja aus anderen Klassen darauf zugreifen können oder ?
old=Datum.dat3.roll(...) geht aber auch nich...diesmal unterschtreicht er mir date und sagt er kann es nich finden.
date is aber in der Klasse Datum, wird dort erzeugt und mit dem fertigen Datum gefüllt.
Die Methode is public, also sollte er ja aus anderen Klassen darauf zugreifen können oder ?
Ok.
Ich habe die Klasse Datum und die Klasse Handler.
Ich habe Gültigkeiten, die Aktualisert werden können.
Ist das der fall, wird die Gültigkeit des alten auf genau 1 Sekunde vor die des neuen gesetzt.
Das neue beginnt ab jetzt. Das alte will ich für Doku Zwecke erstmal nicht löschen.
In der Klasse Datum ist die o.g. methode drin, um einen String in in ein Datum umzuwandeln.
Hier findet auch das parsen im SimpleDateFormat statt.
Java:
public static Date stringToDate (String s, String format){
SimpleDateFormat sdf = new SimpleDateFormat (format, Locale.GERMANY);
Date date = new Date();
try{ date = sdf.parse(s);}
catch (Exception e){e.printStackTrace();}return date;
}
In der Klasse Handler erzeuge ich ein Datum, allerdings im String Format.
Wandle es dann mithilfe der Klasse stringToDate in eine Datum um, und möchte es abschließend um genau 1 Sekunde zurück setzen, damit es direkt vor dem neuen Endet.
date ist nur innerhalb der Methode stringToDate() definiert.
Durch das return liefert die Methode dir das Datum. Dieses musst du dann einer Variablen außerhalb der Methode zuweisen. Wie das geht, siehe mein letztes Posting.
Zurücksetzen um 1 Sek kannst du auch ohne roll.
Java:
Date datumMinusEineSekunde = new Date(deinDatumAusDerMethode.getTime()-1000);
Die Klasse Date besitzt keine Methode roll() oder der gleichen.
Zum anderen:
Solltest Du Dir mal anschauen, wie man in Java Methoden aufruft und Rückgabewerte annimmt.
Oder vielleicht mit den Grundlagen der objektorientierten Programmierung im Allgemeinen bzw. der Programmieren in Java im Speziellen anfangen.
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class Test {
public static Date stringToDate(String s, String format) {
SimpleDateFormat sdfToDate = new SimpleDateFormat(format, Locale.GERMANY);
Date date = new Date();
try {
date = sdfToDate.parse(s);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
public static void main(String[] args) {
//Dein Datumswert als String
String deinDatum = "2010.11.24 13:48:59";
//String -> Date
Date datum = stringToDate(deinDatum, "yyyy.MM.dd HH:mm:ss");
//Date in Millisekunden - 1000 Millisekunden -> neues Datum
Date datumMinusEineSekunde = new Date(datum.getTime()-1000);
//Ausgabe
System.out.println(datumMinusEineSekunde);
}
}