none
Monate als zahlen umwandeln RRS feed

  • Frage

  • Hey Leute, ich habe ein problem die monate welche ich eingebe müssen für die ausgabe in zahlen umgewandelt werden. Allerdings weiß ich nicht wie ich z.b. ein string januar als =1 darstellen kann , um damit anschließend rechnen zu können. -Danke im vorraus.
    Montag, 23. Dezember 2019 19:36

Antworten

  • Hi,
    schreib einfach eine Methode, die die Zeichenkette mit dem Monatsnamen für ein Datum nutzt, aus welchem dann die Monat-Nummer ausgelesen wird, z.B. so:

        internal class Demo
        {
          internal void Execute()
          {
            var liste = new List<string>() { "januar", "februar", "märz", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "dezember" , "xxx"};
            foreach (string monat in liste)
            {
              Console.WriteLine($"{monat}: {MonatsIndex(monat)}");
            }
          }
          private int? MonatsIndex(string monat)
          {
            try
            {
              var date = DateTime.Parse($"1.{monat}.2020");
              return date.Month;
            }
            catch (Exception)
            {
              return null;
            }
          }
        }

    Ggf. ist zusätzlich noch die Kultur zu nutzen, wenn z.B. die Monatsbezeichner deutsch sind und die Umgebung des Programmes davon abweicht.


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Dienstag, 24. Dezember 2019 05:50

Alle Antworten

  • Hallo,

    dafür gibt es viele Wege. Was für eine Projektart benutzt Du den? WinForms, WPF, UWP, Konsolenprogramm...?


    Gruß Thomas
    13 Millionen Schweine landen jährlich im Müll
    Dev Apps von mir: UWP Segoe MDL2 Assets, UI Strings

    Montag, 23. Dezember 2019 21:12
  • Hi,
    schreib einfach eine Methode, die die Zeichenkette mit dem Monatsnamen für ein Datum nutzt, aus welchem dann die Monat-Nummer ausgelesen wird, z.B. so:

        internal class Demo
        {
          internal void Execute()
          {
            var liste = new List<string>() { "januar", "februar", "märz", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "dezember" , "xxx"};
            foreach (string monat in liste)
            {
              Console.WriteLine($"{monat}: {MonatsIndex(monat)}");
            }
          }
          private int? MonatsIndex(string monat)
          {
            try
            {
              var date = DateTime.Parse($"1.{monat}.2020");
              return date.Month;
            }
            catch (Exception)
            {
              return null;
            }
          }
        }

    Ggf. ist zusätzlich noch die Kultur zu nutzen, wenn z.B. die Monatsbezeichner deutsch sind und die Umgebung des Programmes davon abweicht.


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Dienstag, 24. Dezember 2019 05:50
  • windows form-apps(.net framework)
    Samstag, 18. Januar 2020 12:35
  • Ähm puh das sieht echt kompliziert aus, bin noch anfänger^^. Und die sprache sieht mir irgendwie fremd aus, weil ich windows form-apps(.net framework) benutze.
    Samstag, 18. Januar 2020 12:38
  • Hi,

    verwendet Du VB.NET als Sprache? Falls ja, kannst Du den obigen Code mit einem Onlinekonverter wie bspw. http://converter.telerik.com/ problemlos übersetzen lassen.

    Wenn der Code dann immer noch kompliziert aussieht, wäre es wahrscheinlich sinnvoller, sich erst mit den Basic der von dir verwendeten Programmiersprache (bzw. ggfs. auch mal Programmierung an sich) zu befassen. Denn das ist schon sehr einfache Kost. Viel einfacher wird es da nicht mehr.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
    https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport

    Sonntag, 19. Januar 2020 05:58
    Moderator