Veckonummer i label
Håller på och gör en vanlig kalender där man kan stega upp eller ned genom åren och månaderna.
Vilken metod är lättast för att få fram rätt veckonummer som ska skrivas i en label.
Ska man räkna ut första veckan i året och sedan plussa på tills man kommer till sista,
eller ska man välja ett datum i en månad och sedan kalkylera fram veckan?
Det är Visual Basic 2010 jag använder.
Tack på förhand för svar.
Svara
Sv: Veckonummer i label
Hej, du kan formatera ett datum så det visas som ett veckonummer.
1 | Dim weekNum As Integer = DatePart(DateInterval.WeekOfYear, Now, FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFullWeek) |
1 2 3 4 5 6 7 8 9 10 11 12 | public static int GetWeekNumber(DateTime date) { // Gets the Calendar instance associated with a CultureInfo. CultureInfo myCI = new CultureInfo( "sv-SE" ); Calendar myCal = myCI.Calendar; // Gets the DTFI properties required by GetWeekOfYear. CalendarWeekRule myCWR = myCI.DateTimeFormat.CalendarWeekRule; DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek; return myCal.GetWeekOfYear(date, myCWR, myFirstDOW); } |
Svara
Sv:Veckonummer i label
Tack för svaret.
När jag ändrade firstfullweek till firstfourdays så visade den rätt veckonummer
Svara
Sv: Veckonummer i label
Så här gör jag
1 2 3 4 5 6 7 8 9 | Private Sub Command1_Click() 'SvenPon 2000 - 4 - 16 'Convert Year Week Day To Date Sweden standard 'Monday is the first day of week Dim wNr As Long 'hämta veckonummer wNr med År o Datum wNr = Format( "2013-08-02" , "ww" , vbUseSystemDayOfWeek, vbUseSystem) Label1.Caption = wNr End Sub |
Svara
Sv:Veckonummer i label
Så här gjorde jag, kan man lägga in år, månad och dag i integer, Thisyear, Thismonth och Thisday om man nu vill det.
Skriver man inget i dessa så blir det dagens datum med rätt veckonummer.
Om resultatet på veckan blir t.ex 31 gällande dagen på månaden så måste det numret in
i rätt veckolabel för det är ju 4-5 olika veckonummer i en månad. Det vet jag inte än
hur jag ska göra.
Om dagens datum är 3 januari så ska ju veckonumret in i rätt label för vecka 1,
inte in i labeln för vecka 4, hmmmm???????
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 | ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Public Class Form1 Dim thisyear As Integer = Microsoft.VisualBasic.DateAndTime.Year(Now) Dim thismonth As Integer = Microsoft.VisualBasic.DateAndTime.Month(Now) Dim thisday As Integer = Microsoft.VisualBasic.DateAndTime.Day(Now) Private Sub Form1_Load(sender As System. Object , e As System.EventArgs) Handles MyBase .Load Dim datum As Date thisyear = 2026 thismonth = 1 thisday = 5 datum = DateSerial(thisyear, thismonth, thisday) Dim weekNum As Integer = DatePart(DateInterval.WeekOfYear, datum, FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFourDays) Label1.Text = CStr (weekNum) End Sub End Class |
Svara
Sv: Veckonummer i label
Det är nog så att du får hålla reda på vad det var för värde du precis skrev ut, och räkna fram vad det är för värde du just nu skall skriva ut. Säg att du får v1 v1 v1 v1 v1 v2 v2 , när "vecka nu" är > än "vecka nyss" så får du göra brytet. Jag vet inte om du förstod vad jag menade där men hoppas du är med på tänket.
Svara
Sv:Veckonummer i label
Tack å bock för svaret!
Har funderat i liknande banor.
Sista steget gällande kalendern är att få en "funktion" eller dylikt som upprepar innehållet i
en dag var 34:e dag.
Om det står "F" i en label så ska det stå "F" i en label om 34 dagar.
Ska upprepas om och om igen.
Svara