[.NET] jahr, monate und tage in eine ausgabe

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Mr.y, 24. August 2009 .

  1. 24. August 2009
    jahr, monate und tage in eine ausgabe

    hallo, ich benutze vb2005
    ich habe ein problem mit DateDiff
    und zwar kann ich die zeitdifferenz in jahren, monaten bzw tagen ausgeben lassen
    aber ich möchte dass die zeitdifferenz in 3 elementen gleichzeitig angezeigt wird
    sprich: zb. es sind so viel zeit vergangen: 3 jahre, 4 monate, 2 tage
    wie kriege ich diese drei elemente ("d"; "m" und "yyyy") als ein datum ausgegeben???
    danke schon mal für die vorschläge :]
     
  2. 24. August 2009
    AW: jahr, monate und tage in eine ausgabe

    Schaust du hier MSDN Format Function.

    Sollte dann so funktionieren Beispiel:

    Code:
    Dim Date1 As Date
    Dim Date2 As Date
    Dim FormatStr As String
    
    FormatStr = Format(Date2 - Date1, "d.m.yyyy")
    
    Mfg Rushh0ur
     
  3. 25. August 2009
    AW: jahr, monate und tage in eine ausgabe

    Ich gehe mal davon aus, du merkst dir ja deine 3 jahre, 4 monate und 2 tage oder?

    wenn ja

    mach doch einfach 3 Variablen
    Code:
    Dim year as String
    Dim month as String
    Dim Day as String
    Dim Date as String
    
    
    Date = year & "." & month & "." & day
    
    So hätts ich mal ganz spontan gemacht

    greetz
     
  4. 25. August 2009
    AW: jahr, monate und tage in eine ausgabe

    hhmmm....ich bekomme dann "überlauf" bzw Luafzeitfehler Nr.6
    also formatStr(heutiges Datum - eingegebenes Datum, "d-m-yyy")

    dieser fehler tritt auf, wenn man falsch deklariert
    ich hab nun das mit dem variant genommen....sollte dann aufjedenfall laufen
    kommt dennoch immer der selber fehler Nr6

    weiss nicht ob das vielleicht der richtiger weg ist
    noch mal.....^^ wenn ich ein altes datum eingebe:
    zb 24.07.2008, dann wird es mit nem aktuellem datum vergliechen und dann sollte sowas erscheinen:

    vergangen ist: 1 Jahr, 1 Monat, 1 Tag
     
  5. 26. August 2009
    AW: jahr, monate und tage in eine ausgabe

    Hallo Mr. y,

    wenn man ein Date von einem Date abzieht bekommt man eine Timespan. Diese kann man aber nicht in ein Datum wandeln, folglich auch nicht als Datum anzeigen. Wenn ich den 1.1.2000 vom ersten 1.1.2009 abziehe, bekomme ich als Ergebnis 9 Jahre. Willst Du dann sowas wie den "00.00.0009" anzeigen ?

    Naja, wie auch immer. Nichts für ungut. Ich denke, was Du willst ist das:

    VB
    Code:
    Dim startDate As Date = CDate("2009-08-01")
    Dim endDate As Date = CDate("2010-10-05")
    
    Dim tmp As Date = startDate
    Dim years As Integer = DateDiff(DateInterval.Year, tmp, endDate)
    tmp = tmp.AddYears(years)
    Dim month As Integer = DateDiff(DateInterval.Month, tmp, endDate)
    tmp = tmp.AddMonths(month)
    Dim days As Integer = DateDiff(DateInterval.Day, tmp, endDate)
    
    Debug.WriteLine(String.Format("Years: {0}", years))
    Debug.WriteLine(String.Format("Month: {0}", month))
    Debug.WriteLine(String.Format("Days: {0}", days))
    C#
    Code:
    System.DateTime startDate = (System.DateTime)"2009-08-01";
    System.DateTime endDate = (System.DateTime)"2010-10-05";
     
    System.DateTime tmp = startDate;
    int years = DateDiff(DateInterval.Year, tmp, endDate);
    tmp = tmp.AddYears(years);
    int month = DateDiff(DateInterval.Month, tmp, endDate);
    tmp = tmp.AddMonths(month);
    int days = DateDiff(DateInterval.Day, tmp, endDate);
     
    Debug.WriteLine(string.Format("Years: {0}", years));
    Debug.WriteLine(string.Format("Month: {0}", month));
    Debug.WriteLine(string.Format("Days: {0}", days));
    Hoffe das hilft.

    BG MaxDev
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.