显示连续序列 [英] displaying continuous sequence
本文介绍了显示连续序列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想显示基于年份的一周的否.必须根据年份显示周号.周数应仅基于给定的年份.
现在,我正在显示连续的序列号.但是,我想根据年份的周数进行拆分和显示.
请帮助.
代码如下.
------------------
Hi,
I want to display the week''s no based on the year. The week no must be display based on the year. the week count should come based on the given year only.
Now, i am displaying continuous sequence week no. but, i want to split and display based on the year week count no.
pls. help.
the code is below.
------------------
Imports System.Globalization
Partial Class CountWeek
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'' Assumes that week range is from Sunday - Saturday
Dim FromYr As Integer = "2011"
Dim ToYear As Integer = "2020"
Dim firstDayOfYear As New DateTime(FromYr, 1, 3)
Dim lastDayOfYear As New DateTime(ToYear, 12, 31)
Dim weekNumber As Integer = 0
Dim weekList As New List(Of String)()
Dim tempDate As DateTime = firstDayOfYear
Dim tempString As String = String.Empty
''Dim SelectedWeek As Integer
While tempDate <= lastDayOfYear
weekNumber += 1
tempString = weekNumber.ToString() & " | "
tempString += tempDate.ToShortDateString() & " - "
''Dim Midnight_for_the_Current As Date = DateAdd(DateInterval.Second, -3, DateAdd(DateInterval.Year, DateDiff(DateInterval.Year, Date.MinValue, firstDayOfYear), Date.MinValue))
'' If Midnight_for_the_Current Then
''If DateDiff(DateInterval.DayOfYear, tempDate, lastDayOfYear) = False Then
tempDate = GetLastDayOfWeek(tempDate, lastDayOfYear)
tempString += tempDate.ToShortDateString()
weekList.Add(tempString)
tempDate = tempDate.AddDays(1)
'' End If
End While
''SelectedWeek = DatePart(DateInterval.WeekOfYear, Now.Date, Microsoft.VisualBasic.FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFullWeek)
drpWeeknos.DataSource = weekList
drpWeeknos.DataBind()
End Sub
Private Function GetLastDayOfWeek(ByVal firstDayOfWeek As DateTime, ByVal lastDayOfYear As DateTime) As DateTime
Dim lastDayOfWeek As DateTime = firstDayOfWeek
If firstDayOfWeek.DayOfWeek = DayOfWeek.Monday Then
lastDayOfWeek = firstDayOfWeek.AddDays(6)
End If
If firstDayOfWeek.DayOfWeek = DayOfWeek.Tuesday Then
lastDayOfWeek = firstDayOfWeek.AddDays(5)
End If
If firstDayOfWeek.DayOfWeek = DayOfWeek.Wednesday Then
lastDayOfWeek = firstDayOfWeek.AddDays(4)
End If
If firstDayOfWeek.DayOfWeek = DayOfWeek.Thursday Then
lastDayOfWeek = firstDayOfWeek.AddDays(3)
End If
If firstDayOfWeek.DayOfWeek = DayOfWeek.Friday Then
lastDayOfWeek = firstDayOfWeek.AddDays(2)
End If
If firstDayOfWeek.DayOfWeek = DayOfWeek.Saturday Then
lastDayOfWeek = firstDayOfWeek.AddDays(1)
End If
If firstDayOfWeek.DayOfWeek = DayOfWeek.Sunday Then
lastDayOfWeek = firstDayOfWeek
End If
If lastDayOfWeek > lastDayOfYear Then
lastDayOfWeek = lastDayOfYear
End If
Return lastDayOfWeek
End Function
End Class
请仅在vb.net中给我解决方案.
问候,
Ganesh.S
pls. give me the solution in vb.net only.
Regards,
Ganesh.S
推荐答案
在循环中使用以下代码,
Use following in the loop,
Dim WeekNumber As Integer = DatePart(DateInterval.WeekOfYear, tempDate, FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFourDays)
这篇关于显示连续序列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文