Announcement

Collapse
No announcement yet.

Ein Datum erzeugen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ein Datum erzeugen

    Hallo,

    Ich möchte gerne in Java ein Datum (also Jahr, Monat, Tag) erzeugen und dieses mit SQL in eine Datenbankspalte des Formats "Date" schreiben.

    Das Folgende funktioniert aber nicht...

    java.sql.Date date = new java.sql.Date(2008,12,20);

    Wenn ich das mit System.out.println(date); ausgebe kommt 3909-01-20 raus...
    Wie macht mans richtig?

    Vielen Dank schonmal

  • #2
    GregorianCalendar cal = new GregorianCalendar(2007, 4, 11); // 11.05.2007
    Date date = cal.getTime();
    // In die Datenbank schreiben oder...ausgeben
    SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
    System.out.println(sdf.format(date));

    Comment


    • #3
      Kleiner Hinweis am Rande:

      java.sql.Date date = new java.sql.Date(jahr,monat, tag);

      funktioniert auch, ist aber deprecated und nicht empfohlen. Außerdem muß man schwachsinnigerweise vom Jahr 1900 abziehen und die Monate zählen von 0 bis 11. Der 20.12.2008 wäre also

      java.sql.Date date = new java.sql.Date(108, 11, 20);

      Comment


      • #4
        Mal so allgemein...
        ...ersetzt GregorianCalendar jetzt eigentlich die Klasse Date? Denn irgentwie scheint es keine vernünftige Möglichkeit zu geben ein Datum festzulegen. Wer hat denn schon die genauen Millisekunden im Kopf?

        Comment


        • #5
          M.E. nicht. Date zum erzeugen alle anderen zum verarbeiten
          Christian

          Comment


          • #6
            Originally posted by c_k View Post
            Hallo,

            Ich möchte gerne in Java ein Datum (also Jahr, Monat, Tag) erzeugen und dieses mit SQL in eine Datenbankspalte des Formats "Date" schreiben.

            ...

            Wie macht mans richtig?
            Originally posted by aleucht View Post
            GregorianCalendar cal = new GregorianCalendar(2007, 4, 11); // 11.05.2007
            Date date = cal.getTime();
            // In die Datenbank schreiben oder...ausgeben
            SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
            System.out.println(sdf.format(date));
            Das ist definitiv nicht die richtige Antwort. Das ist ne Krücke und sonst nix . Ein Datum sollte wie jeder andere Datentyp in Java auch via PreparedStatements in die Datenbank geschrieben werden.

            Originally posted by Exception View Post
            Mal so allgemein...
            ...ersetzt GregorianCalendar jetzt eigentlich die Klasse Date? Denn irgentwie scheint es keine vernünftige Möglichkeit zu geben ein Datum festzulegen. Wer hat denn schon die genauen Millisekunden im Kopf?
            Kommt darauf an, was du damit genau machen willst. Ich verwende bspw. auch keinen GregorianCalendar, da dieser doch sehr spezifisch ist. Stattdessen arbeite ich mit

            Code:
            Calendar cal = Calendar.getInstance();
            Java lernen => Java Blog Buch

            Comment


            • #7
              Das ist definitiv nicht die richtige Antwort.
              Was könnte an dieser Antwort falsch sein?

              Es geht um das erzeugen eines Datums. Und wie aLeucht schreibt:


              // In die Datenbank schreiben oder...ausgeben
              SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
              System.out.println(sdf.format(date));
              Und gibt ein Beispiel für eine Ausgabe. Kein Teil des Codes zeigt irgendwie das Schreiben in die DB.

              Die Klasse Greg. Calendar ist eine Ableitung von Calendar und sie kann genutzt werden ...ja genau wie der Name es sagt...wenn man einen Greg. Calendar benötigt.
              Christian

              Comment


              • #8
                Er wollte das Datum in die DB schreiben. Die Antwort zeigte allerdings, wie man ein Datum in einen String konvertiert. Dieser könnte ohne PreparedStatements (und sehr unsicher) in die DB geschrieben werden. Darauf wollte ich hinweisen, mehr nicht.
                Java lernen => Java Blog Buch

                Comment

                Working...
                X