Zeiten miteinander vergleichen.

Status
Nicht offen für weitere Antworten.

scriptCoad

Aktives Mitglied
...halo, ich möchte ein date time string subtrahieren....

..gibt es dafür sowas wie eine datetostring funktion, und kann ich schnell mal eben nen datestring in sekudenumrechnen?, danke
 
und dann noch in sekunden umwandeln?

Ich versteh das nicht so ganz, irgendwie gibt's kaum support im internet, für Java kenn ich nur dieses Forum in deutsch und in englisch garkeins, ußer ExpertzExchenge, aber die sind auch nicht kostenfrei.

also nochmal meine Frage

1)

Kann ich in Java rumkonvertieren wie ich will, wenn ich dafür die passende Funktion nehme?

2)

Wie bekomme ich dann aus time einen string

@edit: String format() könnte helfen. Kann mir jemand ein Beispiel sagen?

Mein Ansatz wäre

~parse hb ich mir von simpledateformat abgeguckt...

StringFormat nString = new StringFormat();
String meinString = StringFormat.parse(dastimedingen);


..ist da ein Fehler drin?, könnte ich jetzt so weiterverfahren dass ich die doppelpunkte entferne und danach die einzelzifferrn in Sekundenumrechnen lasse also hh:mm:ss

????
 
Prinzipiell zu format z.B. hier paar Beispiele.

Was meinst du mit "rumkonvertieren" wie ich will. Du kannst explizite Casts vornehmen,allerdings auch nicht wie es dir gerade gefällt....
 
aha, hab ich mir schon gedacht.

Wenn ich also eine neue Variable deklariere vom typ string, und möchte der nun time, int was auch immer werte zuweisen (prinzipiell müsste in string ja von der größe her alles gehen), dann brauche ich immer die passende converrt funktion?
 
wenn du aus nem String ein int machen willst kannst entsprechend Integer.parseInt(deinString) aufrufen etc. btw. in java heisst es methoden 😉
 
also ich hab's jetzt so gemacht dass ich den

calendar.add(GregorianCalendar.DAY_OF_MONTH, startvalue());

die zeit draufrechne, ich möchte jetzt die zeit auch abziehen und finde nicht sowas wie das sub.

Gibt es sowas bei dem GregorianCalendarr?

und wie heisst des?
 
@scriptCoad:
Ich bin mir nicht sicher ob ich es richtig verstanden habe!
Du willst

1. einen Date String, der durch getTime() (man bekommt aber long!) geholt wurde?!
2. diesen in Sekunden wandeln?
3. mit mehreren Zeiten rechnen?

lieg ich da richtig?
 
Im Titel des Threads steht, dass du die Zeit vergleich willst.
Seit Java 1.5 gibts in der Klasse java.util.Calendar die Methode compareTo(), mit der sich Daten, Zeiten etc. vergleichen lassen. Wenn's dir also nur darum geht, überschreibst du einfach diese Methode.
 
hey danke, ich benutz den graegoriaencalendar um zeiten zu addieren, finde aber nicht den weg zum subtrahieren. Kannst Du mir den sagen?, hier mein code


Code:
// Datum anhand von raltivem Zeitraum
				
// verrechne time

// if nach  start = nach anfangswert "nach"

GregorianCalendar calendar = new GregorianCalendar();
calendar.setTimeInMillis(currentYearlyTask.getBeginnZeit().getTime());

//Rechne RzStartValue in Tagen drauf

calendar.add(GregorianCalendar.DAY_OF_MONTH,

currentYearlyTask.getRzstartvalue());


ich möchte halt zu

Code:
calendar.add


sowas wie calendar.sub -> gibt es das?, (was anderes frage ich jetzt erstmal garnicht)
 
scriptCoad hat gesagt.:
einer der was weiß?
Ja. Wie oben geschrieben!!! Ruf 'add' mit einem negativem Wert auf!!!

Code:
GregorianCalendar calendar = new GregorianCalendar();
System.out.println( calendar.getTime() ); // Ausgabe = Tue May 31 10:27:00 CEST 2005
calendar.add(calendar.MINUTE, -30);
System.out.println( calendar.getTime() ); // Ausgabe = Tue May 31 09:57:00 CEST 2005
 
und warum schreibt man den objekttyp for den objektnamen???

(wenn man den objekttyp h dahiner schreibt, wenn man angibt von welchem objekt man intantiert?)

andere Frage: wie bekomme ich die Uhrzeit statt dem Datum..

mit

Code:
ergebnisZeit = calendar.getTime();

                                //.getFragezeischen???
 
mit Calendar.get(int field)?
kannst ja mal in die Api Dokumentation unter java.util.GregorianCalendar schauen, dort ist ein Beispiel.

z.b.:
Code:
System.out.println(calendar.get(calendar.HOUR) + ":" + calendar.get(calendar.MINUTE) + ":" + calendar.get(calendar.SECOND));

Gruß
sisko78
 
scriptCoad hat gesagt.:
und warum schreibt man den objekttyp for den objektnamen???

(wenn man den objekttyp h dahiner schreibt, wenn man angibt von welchem objekt man intantiert?)
Hä?? Verstehe nicht, was Du wissen willst.

scriptCoad hat gesagt.:
andere Frage: wie bekomme ich die Uhrzeit statt dem Datum..
Code:
GregorianCalendar calendar = new GregorianCalendar();
SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
System.out.println( df.format(calendar.getTime()) ); // Ausgabe = 11:20:47
calendar.add(calendar.MINUTE, -30);
System.out.println( df.format(calendar.getTime()) ); // Ausgabe = 10:50:47
 
Ich glaub er meinte das so:

Code:
SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
		
String str = "12:55:10";
Date d = df.parse(str);
Date result = new Date(d.getTime() - 30000); // minus 30 sekunden
String resultStr = 	df.format(result);
	
System.out.println(resultStr);
Ausgabe: 12:54:40
 
und mit negieren, das heisst, ich mache aus meinem day ein string, und rechne dann einfach
Code:
calendar.add(calendar.MINUTE, -30);

..für den fall das ich ein ergebnis sekundengenau haben will?
 
Kannst Du vielleicht nochmal klar und deutlich erklären was Du vor hast???
Welche Daten liegen dir in welchem Datenformat (=Datentyp) vor, was willst du damit machen und welchen Datentyp soll das Ergebnis haben???
 
hmm, kann denn der calendar auch:

...wenn ich ein paar minuten reinstecke, die stunden mit rauzählen oder springt er von 13.40 + 40 minuten auf 13.20?

...wenn ja, welche methide nehm ich dann?

Ich muss tage, wochen, monate, minuten, studen und jahre addieren, subtrahieren

danke danke danke
 
Wenn Du einen GregorianCalendar hast kannst du ihm Stunden und Minuten (und Tage und Sekunden und ...) einstellen also z.B. 13:40. Wenn Du auf der Instanz jetzt
Code:
add( GregorianCalendar.MINUTE, 40 );
aufrufst so ist das Ergebnis in dem Beispiel 14:20.

Wenn Du etwas abziehen willst, z.B. von 17:51 willst Du 62 Minuten abziehen, so rufst du
Code:
add( GregorianCalendar.MINUTE, -62 );
auf und schon hat deine Instanz 16:49!

Nun gibt es verschiedene Optionen das ganze auszugeben, dieses Problem würde ich an deiner Stelle jedoch separat behandeln und nicht bei der Berechnung! Guck, dass Du das erst mal auf die Reihe bekommst... wenn Du noch Fragen hast, Frag!
 
~~~~~~~~~~~~~~~~~~~~

DDanke, aber eine Frage hatte ich noch



hi, hab immernoch das Problem. Ich weiß, java noobies helfen macht kein Spaß. Aber ich hab keine Ahnung wie ich aus dem Wert, in meinem Beispiel 'ne Negation kriege.

Code:
// Rechne RzStartValue in Tagen drauf

calendar.add(GregorianCalendar.DAY_OF_MONTH,

currentYearlyTask.getRzstartvalue());

// und stecks in ergebnisDatum a

ergebnisDatum = calendar.getTime();

also ich möchrte das "DAY_OF_MONTH" -DAY_OF_MONTH wird, also -2 Tage, z.B ...wie wende ich das an?, ich kenne nicht den Typ von dom und weiß auch nicht ob das nötig ist, dass ich erst mit tostring einen string draus mache und danach wieder ein INT, Time?, Date?
 
in dem beispiel schrreibt ihr z.B "add" "day_of_month" "-30"

ich möchte aber -day_of_moth ohne "type conversion error" zu erhalten.
 
Du möchtest also jeweils den negativen Wert des Monats hinzufügen, also -2 anstatt 2 und -30 anstatt 30?

Wieso speicherst du nicht einfach DAY_OF_MONTH in ner Variablen , drehst Vorzeichen um (-) und dann übergibst du das?
 
@tigerschekken

und das geht so ohne weiteres?, vorzeichenumdrehen bei ner datevariable, oder kann ich die zum int machen?

liefert day_of_month oder Minute int?, oder wie mach ich das?
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben