Datum & Zeit formatieren

S

sem_thesis

Fortgeschrittenes Mitglied
0
Hallo!

Ich habe ein ganz kleines Problem und schaff' es einfach nicht, das zu lösen.

Ich will das Datum im Format "dd-MM-yyyy" darstellen.
Die Zeit soll im Fromat "HH:mm:ss" dargestellt werden.

Jetzt habe ich mir dazu die Klasse SimpleDateFormat genau angeschaut --> SimpleDateFormat | Android Developers


Mein Code sieht folgendermassen aus:

Code:
SimpleDateFormat d = new SimpleDateFormat("dd-MM-yyyy");
SimpleDateFormat t = new SimpleDateFormat("HH:mm:ss");

String date = d.format(Date(0));
String time = t.format(Date(0));

Date wird nicht als Methode anerkannt?!?!
Funktioniert jetzt überhaupt nicht und ich kann es mit Toast auch nicht anzeigen lassen :angry:


Vorschläge?
 
sem_thesis schrieb:
Date wird nicht als Methode anerkannt?!?!

Was soll "Date(0)" darstellen? Das ist ein Methodenaufruf, wenn du diese nicht hast, dann ist der Fehler doch klar.

Oder hast du den Code einfach falsch abgeschrieben?
Code:
new Date(0);

regards
 
Code:
             String date = d.format(new Date(0));
             String time = t.format(new Date(0));

gibt Fehler aus.

Code:
            String time = t.format(new Date(0));

wird von Eclipse akzeptiert.
Zeigt mit Toast 01:00:00 an (was???)
 
sem_thesis schrieb:
Code:
             String date = d.format(new Date(0));
             String time = t.format(new Date(0));
gibt Fehler aus.

Welche(n) Fehler?

Das einzige, was meine Kristallkugel hergibt ist, dass Du eventuell noch eine andere Variable namens d im selben scope definiert haben könntest.
 
Ok.
Ich habe diesen Code jetzt in einer LISTENER-Klasse einer Service-Klasse hineingeschrieben:


Code:
    private class MyPhoneStateListener extends PhoneStateListener {
        
        Date dateinstance = new Date();

        SimpleDateFormat formatdate = new SimpleDateFormat("dd-MM-yyyy");
        SimpleDateFormat formattime = new SimpleDateFormat("HH:mm:ss");

        String date = formatdate.format(dateinstance);
        String time = formattime.format(dateinstance);
        
          String name;
          String phonenumber;
          String duration;
          String callclassification;
          
          public void onCallStateChanged(int state,String incomingNumber){

              
              // Collect new Phone Logs //
              name = android.provider.CallLog.Calls.CACHED_NAME;
              phonenumber = android.provider.CallLog.Calls.NUMBER;
              duration = android.provider.CallLog.Calls.DURATION;
              
              Log.d(TAG, "STATE HAS CHANGED!");

              
              switch(state){
                  case TelephonyManager.CALL_STATE_IDLE:
                      Log.d(TAG, "---booooooo-----");
                      break;
                  case TelephonyManager.CALL_STATE_OFFHOOK:
                      callclassification = "Outgoing Call";
                      Log.d(TAG, "Calling somebody");
                      Log.d(TAG, date);
                      Log.d(TAG, time);
                      Log.d(TAG, callclassification);
                      Log.d(TAG, name);
                      Log.d(TAG, phonenumber);

                      break;
            case TelephonyManager.CALL_STATE_RINGING:
                    Log.d(TAG, "RINGING");
                      Log.d(TAG, date);
                      Log.d(TAG, time);
                      callclassification = "Incoming Call";
                      Log.d(TAG, callclassification);
                      Log.d(TAG, name);
                      Log.d(TAG, phonenumber);
                    break;
              }
              

              
          }

    }


Die Date-Klasse sollte jedesmal bei State-Change neu erstellt werden.
Die Log-Daten zeigen aber immer die GLEICHE Zeit an.

Was soll das????
 
Zuletzt bearbeitet:
Wieso sollte die jedesmal neu erstellt werden? Der Listener wird nur einmal erstellt. Bei State-Change wird dann jedesmal onCallStateChanged auf dem bereits bestehenden Listener-Objekt aufgerufen.
In der Methode werden Datum und Uhrzeit aber nicht neu zugewiesen, folglich stehen da immer noch die Werte drin, die bei Objekterzeugung reingesetzt wurden.
 
  • Danke
Reaktionen: sem_thesis
Das ist komplett logisch - dummer Fehler.

Danke :thumbsup:
 

Ähnliche Themen

B
Antworten
3
Aufrufe
909
jogimuc
J
G
Antworten
0
Aufrufe
393
gnome2012
G
CrazyC
Antworten
5
Aufrufe
833
jogimuc
J
Zurück
Oben Unten