1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. lord_fritte, 10.11.2011 #1
    lord_fritte

    lord_fritte Threadstarter Fortgeschrittenes Mitglied

    Hallo, ich möchte ein Datum in Tag, Monat, Jahr aufsplitten, dazu verwendet ich folgenden einfachen Code:
    Code:
    Date datum = new Date();
    int year = datum.getYear();
    int month = datum.getMonth();
    int day = datum.getDay();
    
    in datum steht das richtige Datum drin: "Thu Nov 10 09:23:54 GMT+00:00 2011"
    aber jetzt kommts:
    year: 111
    month: 10
    day: 4
    Aber warum?
     
  2. swordi, 10.11.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    weil derjenige der die java klasse Date gebaut hat, sich wohl irgendwas dabei gedacht hat. was genau, weiß ich nicht :D

    das monat ist 0 basiert. => +1
    den tag bekommst du über datum.getDate() - ohne witz :D
    das jahr musst einfach +1900 rechnen

    Dann bekommst du auch das richtige Datum :)

    es gibt mit sicherheit nen besseren weg.
     
    lord_fritte gefällt das.
  3. Tom299, 10.11.2011 #3
    Tom299

    Tom299 Android-Experte

    schau dir mal Calendar und SimpleDateFormat an, damit kannst du viel machen, auch wenns evtl. etwas mehr Aufwand ist ;-)
     
  4. DieGoldeneMitte, 10.11.2011 #4
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    "Best preactice" in Java (allgemein, nicht nur Android) ist es, über den Calendar zu gehen.

    Code:
    Calendar cal = new GregorianCalendar();
    cal.setTime(datum);
    int year = cal.get( Calendar.YEAR );
    int month = cal.get( Calendar.MONTH); // 0 based!
    int day = cal.get( Calendar.DAY_OF_MONTH );
    
    ADD: Ah, Tom299 hat Calendar auch schon erwähnt....

    ADD:
    @swordi, @lord_fritte: getMonth() und Konsorten sind seit 15 Jahren deprecated :D
     
    Zuletzt bearbeitet: 10.11.2011
    sgs9000A gefällt das.
  5. swordi, 10.11.2011 #5
    swordi

    swordi Gewerbliches Mitglied

    das geilste ist, dass monat 0 basiert ist.

    wer hat sich dabei was gedacht ? :D
     
  6. sgs9000A, 11.11.2011 #6
    sgs9000A

    sgs9000A Android-Experte

    get.Day ist wohl der Wochentag, sorry, hat was gedauert bei mir ;-)
    Will selbst nur ne kleine Anwendung bauen, wie bekomme ich das heutige Datum im "App Inventor" angezeigt bzw. diese Formel dort hinein, grübel??
    Also echt doof wenn ich jetzt erst komplett Java dafür lernen müßte :blushing:
    Kennt jemand ein Handbuch in deutsch, schäm, :bored:?

    Edit: Wer suchet der findet.

    Clock

    Use a clock component to create a timer that signals events at regular intervals. The clock component also does various conversions and manipulations with time units.

    One use of the clock component is a a timer: set the timer interval, and the timer will fire repeatedly at the interval, signalling a timer event.

    A second use of the clock component is to manipulate time, and express time in various units. The internal time format used by the clock is called an instant. The clock's Now method returns the current time as an instant. The clock provides methods to manipulate instants, for example, return an instant that is several seconds, or months, or years from the given instant. It also provides methods to show the second, minute, hour, day, …, corresponding to a given instant.

    Leider für mich, alles auf english :-(
     
    Zuletzt bearbeitet: 11.11.2011
  7. mradlmaier, 13.11.2011 #7
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Calendar deswegen, weil Datum land/kulturspezifisch ist. Dafür unterstützt Calendar allerlei exotische Varianten. In Europa und Amerika gilt der gregorianische...
    Die Calendar Klasse macht das ganze nicht umständlicher, sondern flexibler
     
  8. v Ralle v, 14.11.2011 #8
    v Ralle v

    v Ralle v Android-Lexikon

    Und warum nicht gleich:

    Code:
    Calendar c = Calendar.getInstance();
    Das macht es noch dynamischer ;)
     
    DieGoldeneMitte gefällt das.
  9. DieGoldeneMitte, 15.11.2011 #9
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Ich sage nur month_names[idx].

    Übrigens gibt es auch noch einen Monat namens UNDECIMBER :D

    @v_Ralle_v oha, den kannte ich noch nicht :)
     
  10. v Ralle v, 15.11.2011 #10
    v Ralle v

    v Ralle v Android-Lexikon

    Kein Ding :) Noch als Anmerkung: in den Beispielprogrammen wird der Aufruf auch immer verwendet (Android Doku), zum Beispiel beim AlarmManager.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[RÜCKMELDUNG FEHLT] SimpleDateFormat "if" abfrage für Tag oder Nacht Android App Entwicklung 12.03.2017
Tage zwischen zwei Terminen berechnen Android App Entwicklung 22.02.2017
Wie realisiere ich eine zeitgesteuerte Berechnung und die Anzeige von PDF's Android App Entwicklung 21.02.2017

Users found this page by searching for:

  1. java tag monat jahr

    ,
  2. Tag Monat Jahr *

    ,
  3. tag monat jahr app

    ,
  4. java datum tag monat jahr,
  5. datumsfunktionen java
Du betrachtest das Thema "Datum in Tag, Monat, Jahr aufsplitten" im Forum "Android App Entwicklung",