Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1840 | Besucher online: 267
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Kalenderwochen ab 1. Januar


Autor: aleyaley
Sprache: C#
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 4567
  
Kick it on dotnet-kicks.de  

Beschreibung:

Zählt die Kalenderwochen des selektierten Jahres. Die erste Kalenderwoche beginnt am 1.1. des Jahres, egal welcher Wochentag das ist, und wird als Kalendewoche 1 gewertet. Es wird ein 2-Dimensionaler Array zurückgegeben,
wobei die 1. Dimension die Kalenderwochen und die 2. Dimension das Datum des jeweiligen Wochentags ist.
Bsp.: [23, 0] = 24. KW Montag; [0, 6] = 1. KW Sonntag
Größe des Arrays: [anzKW, 7]
In dem Array können "llere" Felder entstehen, deshalb muss bei seiner Verwendung darauf geprüft werden.
Wenn ein Feld "leer" ist hat es das Datum "01.01.0001".


Abgelegt unter: Woche, Kalenderwoche.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public Array getDatesFromWeekInput_absolut() //läuft 
        {
            int year = (int)getyearinput()[0];
            int anzKW = System.Globalization.CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(new DateTime(year, 12, 31), System.Globalization.CalendarWeekRule.FirstDay, System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek);

            DateTime startdate = new DateTime(year,1,1); 
            DateTime [,] weeksanddates = new DateTime [anzKW, 7];

            for (int i = 0; i < anzKW; i++)
            {
                for (int j = 0; j < 7; j++)
                {
                    DateTime tempdate = startdate;

                    if (i == 0)
                    {
                        if (tempdate.DayOfWeek == DayOfWeek.Monday)
                            weeksanddates[i, 0] = tempdate;
                        if (tempdate.DayOfWeek == DayOfWeek.Tuesday)
                            weeksanddates[i, 1] = tempdate;
                        if (tempdate.DayOfWeek == DayOfWeek.Wednesday)
                            weeksanddates[i, 2] = tempdate;
                        if (tempdate.DayOfWeek == DayOfWeek.Thursday)
                            weeksanddates[i, 3] = tempdate;
                        if (tempdate.DayOfWeek == DayOfWeek.Friday)
                            weeksanddates[i, 4] = tempdate;
                        if (tempdate.DayOfWeek == DayOfWeek.Saturday)
                            weeksanddates[i, 5] = tempdate;
                        if (tempdate.DayOfWeek == DayOfWeek.Sunday)
                        {
                            weeksanddates[i, 6] = tempdate;
                            j = 7;
                        }
                    }
                    else
                    {
                        weeksanddates[i, j] = tempdate;
                    }

                    if (tempdate.Day == 31 && tempdate.Month == 12)
                        break; //Abbruch der kompletten Schleife

                    tempdate = startdate.AddDays(1);
                    startdate = tempdate;

                    
                }
            }
            return weeksanddates;
        }
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Günther Foidl schrieb am:  26.09.2008 10:49:38

Geht auch einfacher:
 
public static int Kalenderwoche(DateTime datum)
{
Calendar kalender = CultureInfo.CurrentCulture.Calendar;

return kalender.GetWeekOfYear(
datum,
//CalendarWeekRule.FirstFourDayWeek,
CalendarWeekRule.FirstDay,
DayOfWeek.Monday);
}
aleyaley schrieb am:  26.09.2008 10:59:56

Hallo, ja, was du gemacht hast ist auch einfach, jedoch benötige ich nicht nur die Kalenderwoche in der das Datum liegt, sondern ich benötige alle Daten die in einer Kalenderwoche liegen, und soweit ich weiß kann man das leider nicht so einfach abfragen. abgesehen davon kenne ich die von dir gezeigte funktion ja auch, da ich sie ja in meinem prog auch benutze. Grüße


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.