显示连续序列 [英] displaying continuous sequence

查看:89
本文介绍了显示连续序列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我想显示基于年份的一周的否.必须根据年份显示周号.周数应仅基于给定的年份.

现在,我正在显示连续的序列号.但是,我想根据年份的周数进行拆分和显示.

请帮助.

代码如下.
------------------

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆