Hi,
etwas blöde Frage aber habe gerade kein Plan wie ich das am besten lösen kann.
Ich habe eine Methode die mir die Differenz in Minuten zwischen Calendar Daten zurück gibt.
Das StopDatum kann vor dem StartDatum liegen. Das ist kein Problem aber ich bekomme dann bei einem Tag Differenz ein Vorzeichen angezeigt z.B. -1444.
Und dieses Vorzeichen möchte ich wegbekommen. Gibt es einfache elegante Methode?
Ohne den long in ein String zu wandeln und das Vorzeichen mit substr zu entfernen?
Ausgabe:
etwas blöde Frage aber habe gerade kein Plan wie ich das am besten lösen kann.
Ich habe eine Methode die mir die Differenz in Minuten zwischen Calendar Daten zurück gibt.
Das StopDatum kann vor dem StartDatum liegen. Das ist kein Problem aber ich bekomme dann bei einem Tag Differenz ein Vorzeichen angezeigt z.B. -1444.
Und dieses Vorzeichen möchte ich wegbekommen. Gibt es einfache elegante Methode?
Ohne den long in ein String zu wandeln und das Vorzeichen mit substr zu entfernen?
Java:
public void setDuration() {
this.calStart = Calendar.getInstance();
this.calStart.setTime(utilStartTime);
this.calStop = Calendar.getInstance();
this.calStop.setTime(utilStopTime);
if ( this.calStop.before(calStart) ) {
this.calStop.set( Calendar.DAY_OF_MONTH, calStart.get(Calendar.DAY_OF_MONTH) -1) ;
}
this.duration = calStop.getTime().getTime() - calStart.getTime().getTime();
}
public long getDurationInMinutes() {
this.duration = TimeUnit.MILLISECONDS.toMinutes( this.calStop.getTime().getTime() - this.calStart.getTime().getTime() );
return this.duration;
}
public static void main(String[] args) {
Date date = new Date();
Date dateEnd = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm");
try {
dateEnd = sdf.parse("13.01.2012 17:20");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
HelperDate hlpDate = new HelperDate();
hlpDate.setDates(date);
hlpDate.setStartTime(date);
hlpDate.setStopTime(dateEnd);
hlpDate.setDuration();
System.out.println("Datum: " + hlpDate.getUtilDate());
System.out.println("SQL-Datum: " + hlpDate.getSqlDate() + "\n");
System.out.println("Start-Datum: " + hlpDate.getUtilStartTime());
System.out.println("SQL-Start-Datum: " + hlpDate.getSqlStartTime() + "\n");
System.out.println("Stop-Datum: " + hlpDate.getUtilStopTime());
System.out.println("SQL-Stop-Datum: " + hlpDate.getSqlStopTime() + "\n");
System.out.println("Duration: " + hlpDate.getDurationInMinutes() );
}
Ausgabe:
Code:
Datum: Sat Jan 14 17:34:34 CET 2012
SQL-Datum: 2012-01-14
Start-Datum: Sat Jan 14 17:34:34 CET 2012
SQL-Start-Datum: 17:34:34
Stop-Datum: Fri Jan 13 17:20:00 CET 2012
SQL-Stop-Datum: 17:20:00
Duration in Minuten: -1454
Zuletzt bearbeitet: