Kalenderwoche von einem datum bestimmen

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von der_Kurt.

    Kalenderwoche von einem datum bestimmen

    Hi guys,

    Ich würde gerne von einem Control das Datum nehmen und dieses auf die Aktuelle Kalenderwoche umwandeln.
    Beispiel: 19.03.2010 holt er sich und legt es in ein anderes Control als 11 ab.

    Habe schon nachgelesen und habe auch Infos gefunden die ich entweder nicht umsetzen kann oder nicht funktionieren.

    Also soll ich im inport einmal system setzen und system.globalizm oder so ähnlich.
    Nun soll ich mit datum.getweek... aber dieses getweek gibt es bei mir nicht. auch nicht die möglichkeit mit week.
    bei week gibt er mir immer vor weekday oder weekdayname.

    Was fehlt mir noch? bzw wo ist mein fehler in der vorgehensweise.
    Die Suchmaschine meines Vertrauens verrät mir dies: (VB.Net Datum Woche)

    VB.NET-Quellcode

    1. Dim EingabeDatum As String
    2. Dim Datum As Date
    3. Dim Woche As Integer
    4. EingabeDatum = InputBox("Bitte ein Datum eingeben:")
    5. Datum = Cdate(EingabeDatum)
    6. Woche = DatePart(DateInterval.WeekOfYear, Datum, FirstDayOfWeek.Monday, _
    7. FirstWeekOfYear.FirstFourDays)
    8. Label1.Text = "Dieses Datum befindet sich in Woche: " & Week

    Ist zwar ein kleiner Fehler drin, aber den findest du schon ;)
    weil du nie weist welcher Tag der erste eines Jahres ist, kannst du nicht duch 7 Teilen und hoffen das es richtig ist.
    Das Jahr fängt am 01.01.... an. Und das ist nicht zwingend ein Montag, oder der Dienstag.
    Daraus Resultiert, das die Zählung der ersten KW erst mit Sonntag anfängt. Und das kann dann schon der 04.01.... sein.

    nehm die von .NET vorgegebnen und fertigen Befehle.

    ansonsten befasse dich mit dem Julianischen Kalender und berechne ihn selber.
    de.wikipedia.org/wiki/Julianischer_Kalender

    der_Kurt sein Lösung ist sehr schön
    werde ich testen danke für den tip, den fehler finde ich schon.
    Muss die routine eh auf mich anpassen.
    Mir fehlte wohl nur der richtige befehl.

    Wo ich schon dabei bin, gibt es eigentlich irgendwo wie so eine suchmaschine für vb wo ich sage was ich will und er mir den befehl gibt bzw die befehle die möglich sind?

    Bei mir scheitert es leider oft daran den richtigen befehl zu kennen.

    ChaosBernd schrieb:

    weil du nie weist welcher Tag der erste eines Jahres ist, kannst du nicht duch 7 Teilen und hoffen das es richtig ist.
    Das Jahr fängt am 01.01.... an. Und das ist nicht zwingend ein Montag, oder der Dienstag.
    Daraus Resultiert, das die Zählung der ersten KW erst mit Sonntag anfängt. Und das kann dann schon der 04.01.... sein.

    nehm die von .NET vorgegebnen und fertigen Befehle.

    ansonsten befasse dich mit dem Julianischen Kalender und berechne ihn selber.
    de.wikipedia.org/wiki/Julianischer_Kalender

    der_Kurt sein Lösung ist sehr schön


    Okay, stimmt auch wieder ^^

    Wo ich schon dabei bin, gibt es eigentlich irgendwo wie so eine suchmaschine für vb wo ich sage was ich will und er mir den befehl gibt bzw die befehle die möglich sind?


    Sowas wurde schonmal in einem Thema gefragt. Manche erinnern sich vlt noch daran. Ich sag nur: "ich brauche ein paar codes (anfänger)". Nein, das gibt es nicht, aber du kannst die Befehle aus dem englischen ableiten.

    ChaosBernd schrieb:

    Daraus Resultiert, das die Zählung der ersten KW erst mit Sonntag anfängt.

    Nach ISO-Norm ist dies nicht richtig. Für Deutschland gilt KW 1 ist die erste Woche des Jahres mit mindestens 4 Tagen im Januar. Wobei Monat der 1. Tag der Woche ist.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).

    INOPIAE schrieb:

    Nach ISO-Norm ist dies nicht richtig. Für Deutschland gilt KW 1 ist die erste Woche des Jahres mit mindestens 4 Tagen im Januar. Wobei Monat der 1. Tag der Woche ist.

    Danke für die korrektur. ich hatte es nicht mehr auswendig.

    Kouki schrieb:

    Wo ich schon dabei bin, gibt es eigentlich irgendwo wie so eine suchmaschine für vb wo ich sage was ich will und er mir den befehl gibt bzw die befehle die möglich sind?

    Das ist mir leider nicht bekannt.

    sorry
    ...Suchmaschine für VB...

    Im den meisten Fällen hilft Google mit den richtigen Parametern schon weiter.
    Wenn du hier nach dem "Microsoft Developer Network" ("MSDN") suchst, die Programmiersprache angibst (z.B. "VB.NET"), und den allgemeinen Suchbegriff, den du suchst, kommst du im Allgemeinen schon sehr nahe ans Ziel.

    Beispiel für die Google-Suchzeile: "msdn vb.net datum"