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: 1841 | Besucher online: 40
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)

Ermitteln des Starttages einer KW


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

Beschreibung:

Nach Übergabe der Kalenderwoche wird in Abhängigkeit von der eingestellten CurrentCulture

Abgelegt unter: Kalenderwoche, Woche, Kalender, Starttag.



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
51
52
53
54
public static DateTime StartDay(int KW)
{
    try
    {
        int _tempweek = 0;
        if (0 < KW && KW < 54)
        {
            /// summary
            /// auslesen der eingestellten Systemsprache
            /// summary
            CultureInfo CUI = CultureInfo.CurrentCulture;// CreateSpecificCulture("en-US");

            /// summary
            /// festlegen von FirstDate auf den 01.01. des aktuellen Jahres
            /// summary 
            DateTime FirstDate = new DateTime(CUI.DateTimeFormat.Calendar.GetYear(DateTime.Now), 1, 1);
            
            /// summary
            /// solange bis _tempweek = der eingestellten Kalenderwoche ist
            /// summary
            while (_tempweek < KW)
            {
                FirstDate = FirstDate.AddDays(1);
                _tempweek = CUI.Calendar.GetWeekOfYear(FirstDate,
                                                       CUI.DateTimeFormat.CalendarWeekRule,
                                                       CUI.DateTimeFormat.FirstDayOfWeek);
            }
            DayOfWeek FirstDay = CUI.Calendar.GetDayOfWeek(FirstDate);
            
                 if (FirstDate.Year == DateTime.Now.Year)
                 {
                     return FirstDate;
                 }
                 else
                 {
                     throw new ArgumentException();
                 }
            
        }
        else
        {
            throw new ArgumentOutOfRangeException();
        }
    }
    
    catch (ArgumentOutOfRangeException e)
    {
        throw new ArgumentOutOfRangeException(String.Format("Eingabe ausserhalb des Bereiches : 1 - 53", e.Message));
    }
    catch  (ArgumentException ex)
    {
        throw new ArgumentException(String.Format("In diesem Jahr gibt es diese Kalenderwoche nicht",ex.Message));
    }
} 
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.)

herbivore schrieb am:  11.12.2006 16:26:39

Die Konstruktion, die Exceptions ohne Parameter zu erzeugen, sie wieder zu fangen und zu verwerfen und dann neue Exceptions mit Parameter zu erzeugen, leuchtet mir nicht ein und wäre auch echt falsch, wenn von einer der benutzen Methoden eine ArgumentException oder ArgumentOutOfRangeException geworfen würde. Stattdessen sollten die Exceptions gleich richtig erzeugt und geworfen werden.


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