2009-04-06 16 views
1

Ich speichere Werte und Datumswerte in einem Plattenspeicher. Ich habe meine Datumsfeld wie folgt ein:Warum zeigt mein J2ME DateField nicht das korrekte Datum an?

StartDate = new DateField("Start Date ", DateField.DATE); 
       cal1 = Calendar.getInstance(); 
       cal1.set(Calendar.YEAR, 2009); 
       cal1.set(Calendar.MONTH, 0); 
       cal1.set(Calendar.DAY_OF_MONTH, 1); 
       StartDate.setDate(cal1.getTime()); 

und ich spare das Datum als String wie folgt: (. Ich den Code verkürzt)

strStartDate = cal1.get(cal1.DAY_OF_MONTH) + "/" + 
       (cal1.get(cal1.MONTH) + 1) + "/" + 
       cal1.get(cal1.YEAR); 
String detailsToAdd = strStartDate 

Nun, ich möchte in der Lage sein, um das Datum in einer zukünftigen Phase zu bearbeiten. Allerdings benötige ich den Code, um dies tun zu können. Bisher habe ich:

EStartDate = new DateField("Start Date ", DateField.DATE); 

Ich hatte den Namen des DateField Feld zu ändern, wie dies mit anderen Dingen in Konflikt.

Ich muss im Grunde in der Lage sein, das Datumattribut des ausgewählten Datensatzes anzuzeigen. Ich habe derzeit die anderen Informationen angezeigt. Ich muss nur das korrekte Datum anzeigen können. Wenn ich das Programm starte, lautet das Datumsfeld <date>.

Jede Hilfe wird

+0

anzuzeigen Der Titel für diese Frage muss genauer sein als "kann jemand helfen", damit die Leute sich die Mühe machen, einen Blick darauf zu werfen. –

+0

Dies ist die erste Frage des Benutzers. Sei sanft. Ich habe den Titel festgelegt. – Eddie

Antwort

0

Könnte es sein, dass das Gebietsschema Sie laufen in akzeptiert keine Termine mit / als Separator schön? Ich bin sicher, dass es eine locale unabhängige Möglichkeit gibt, ein Datum zu erstellen, ohne String-Verkettung wie in Ihrem Beispiel zu verwenden.

1

Ihr erster Code wie folgt korrekt ist:

  StartDate = new DateField("Start Date ", DateField.DATE); 
      cal1 = Calendar.getInstance(); 
      cal1.set(Calendar.YEAR, 2009); 
      cal1.set(Calendar.MONTH, 0); 
      cal1.set(Calendar.DAY_OF_MONTH, 1); 
      StartDate.setDate(cal1.getTime()); 

Aber für die zweite, können Sie nicht Datum String direkt speichern. Sie müssen es zu String wie folgt konvertieren:

  String detailsToAdd =strStartDate.toString(); 
0

Code-Snippet Ihnen zur Verfügung gestellten nicht setDate(Date) nicht verwendet. Wenn Ihr tatsächlicher Code es auch nicht verwendet, dann ist <date> im Feld korrektes Verhalten - es sagt Ihnen, dass das Datum "nicht initialisiert" ist.

In diesem Fall zuerst Rauch-Test mit einigen einfachen Code, wie

eStartDate = new DateField("Start Date ", DateField.DATE); 
    eStartDate.setDate(new Date()); 

dann, wenn das das Datum zeigt, lernen, wie man benötigt Parameter Date von strStartDate neu erstellen. Das heißt, erstellen Sie neu, wenn Sie möchten, dass Benutzer es ändern können - denn wenn Sie nur das Datum anzeigen müssen, wäre es einfacher, StringItem zu verwenden, die benötigte Zeichenfolge stattdessen

Verwandte Themen