Niko
- Forum-Beiträge: 7
22.03.2013, 14:21:08 via Website
22.03.2013 14:21:08 via Website
Hallo zusammen,
ich bin gerade dabei eine Wecker-App in Android zu programmieren. Das lieft bisher eigentlich ganz gut, doch es stellte sich heraus, dass ich womöglich bei der Zeitdifferenz einen Fehler gemacht habe, nur weiß ich nicht wo genau.
Folgendes:
Ich habe einen Timepicker, mit dem ich mir eine Zeit aussuche und an einer anderen Stelle lese ich die aktuelle Zeit aus. Logcat gibt mir das hier aus:
Text
Current Time: 14:04:38 22-03-2013
Time set: 14:06:00 22-03-2013
Timedifference: 01:01:22 01-01-1970
Mit den ersten beiden Zeilen gebe ich mich zufrieden, doch wenn ich beide voneinander abziehe, dann erhalte ich die oben angezeigte Differenz. Woher kommt der eine Tag?? Und wieso 1970? Was ich erwartet hatte: 00:01:22.
Der dazugehörige Code:
Hat jemand eine Ahnung, weshalb er bei mir noch einen weiteren Tag anzeigt?
ich bin gerade dabei eine Wecker-App in Android zu programmieren. Das lieft bisher eigentlich ganz gut, doch es stellte sich heraus, dass ich womöglich bei der Zeitdifferenz einen Fehler gemacht habe, nur weiß ich nicht wo genau.
Folgendes:
Ich habe einen Timepicker, mit dem ich mir eine Zeit aussuche und an einer anderen Stelle lese ich die aktuelle Zeit aus. Logcat gibt mir das hier aus:
Text
Current Time: 14:04:38 22-03-2013
Time set: 14:06:00 22-03-2013
Timedifference: 01:01:22 01-01-1970
Mit den ersten beiden Zeilen gebe ich mich zufrieden, doch wenn ich beide voneinander abziehe, dann erhalte ich die oben angezeigte Differenz. Woher kommt der eine Tag?? Und wieso 1970? Was ich erwartet hatte: 00:01:22.
Der dazugehörige Code:
1public void timeLeft()
2 {
3 timeLeftThread = new Thread(new Runnable()
4 {
5 public void run()
6 {
7 if(tValue == "On")
8 {
9 calLeft = (GregorianCalendar) GregorianCalendar.getInstance();
10 calLeft.setTimeInMillis(shareTimeGen);
11 txtTimeLeft.setText(" " + formatter.format(calLeft.getTimeInMillis()-System.currentTimeMillis() ) );
12 mTimeHandler.postDelayed(this, 1000);
13 }
14 }
15 });
16 mTimeHandler.postDelayed(timeLeftThread, 0);
2 {
3 timeLeftThread = new Thread(new Runnable()
4 {
5 public void run()
6 {
7 if(tValue == "On")
8 {
9 calLeft = (GregorianCalendar) GregorianCalendar.getInstance();
10 calLeft.setTimeInMillis(shareTimeGen);
11 txtTimeLeft.setText(" " + formatter.format(calLeft.getTimeInMillis()-System.currentTimeMillis() ) );
12 mTimeHandler.postDelayed(this, 1000);
13 }
14 }
15 });
16 mTimeHandler.postDelayed(timeLeftThread, 0);
Hat jemand eine Ahnung, weshalb er bei mir noch einen weiteren Tag anzeigt?
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.