Problme mit GregorianCalendar und Date

Vatar

Erfahrenes Mitglied
Hallöle

Ich bin gerade dabei ein Widget (SWT, JFACE) für eine komfortable Datumseingabe zu basteln. Damit ich je nach Auswahl (Dropdown) die Tage, Monate usw setzen kann nutze ich innerhalb des Widgets ein GregorianCalendar.

Meine Datenstrukturen nutzen allerdings ein simples Date-Objekt. Jetzt gibt es zwei Möglichkeiten das Date in den Calendar einzupassen
Java:
calendar.setTime(date);
oder
Java:
calendar.setTimeInMillis(date.getTime());

Dummerweise wird bei diesem Vorgehen nur der Monat gesetzt, denn wenn ich folgendes mache
Java:
System.out.println( calendar.getDisplayName(Calendar.DAY_OF_MONTH, Calendar.SHORT, Locale.GERMAN) );
System.out.println( calendar.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.GERMAN) );
System.out.println( calendar.getDisplayName(Calendar.YEAR, Calendar.LONG, Locale.GERMAN) );
wird mir nur
  • null
  • September (je nach Objekt natürlich)
  • null
ausgegeben?

Ich hab keine Ahnung woran das liegen kann.
Danke
 
Hallo,

warum baust du dir denn selbst so ein Widget?
http://www.eclipse.org/nebula/widgets/cdatetime/cdatetime.php

Welchen displayName erwartest du denn für den DAY_OF_MONTH?
Java:
/**
 * 
 */
package de.tutorials;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;

/**
 * @author Tom
 *
 */
public class CalendarExample {

  /**
   * @param args
   */
  public static void main(String[] args) {
    GregorianCalendar calendar = new GregorianCalendar();
    calendar.setTime(new Date());
    
    System.out.println( calendar.get(Calendar.DAY_OF_MONTH) );
    System.out.println( calendar.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.GERMAN) );
    System.out.println( calendar.get(Calendar.YEAR) ); 
    
  }

}

Ausgabe:
Code:
15
März
2007

Gruß Tom
 
Falls noch jemand diese Nebula CDateTime nutzen möchte: Ich habe festgestellt, dass die grafische Uhr nicht richtig funktioniert...als Zeit wird immer die aktuelle Zeit eingetragen (egal ob man ein anderes Date übergeben hat). Mit dem SPINNER als Stilkonstanten funktioniert es wunderbar, sieht aber nicht mehr so schön aus. Ich hoffe das hier noch nachgebssert wird und bald ein richtiges Release erscheint...den schick ist dieses Widget wirklich :-)
 
Zurück