OVH Cloud OVH Cloud

No. de la semaine - Part. 2

3 réponses
Avatar
Annie L.
En saisissant un no. semaine, peut-on avoir la date correspondant : no.
semaine = 8 (du 21 février au 27 février 2005).

Merci de votre aide!

3 réponses

Avatar
Zoury
reSalut Annie! :O)

regarde ce lien
http://groups.google.com/groups?selm=%23ngi7%23zeCHA.2496%40tkmsftngp11

--
Cordialement
Yanick
MVP pour Visual Basic

"Annie L." a écrit dans le message de
news:
En saisissant un no. semaine, peut-on avoir la date correspondant : no.
semaine = 8 (du 21 février au 27 février 2005).

Merci de votre aide!


Avatar
Annie L.
J'ai regardé la fonction mais il y a un petit problème. Il est écrit : Dim
dateTimeFormat As DateTimeFormatInfo = Culture.CurrentCulture

Le mot 'culture' est en erreur. Pourtant j'ai déclaré au début de mon module
"Imports System.Globalization". Il me manque peut-être un 'Imports' ou le mot
'culture' n'existe pas ?
Qu'en pensez-vous? Merci!




"Zoury" wrote:

reSalut Annie! :O)

regarde ce lien
http://groups.google.com/groups?selm=%23ngi7%23zeCHA.2496%40tkmsftngp11

--
Cordialement
Yanick
MVP pour Visual Basic

"Annie L." a écrit dans le message de
news:
> En saisissant un no. semaine, peut-on avoir la date correspondant : no.
> semaine = 8 (du 21 février au 27 février 2005).
>
> Merci de votre aide!





Avatar
Zoury
Salut Annie!


Je crois que ce code à été écrit pour une version antérieur du Framework
(1.0 voire même BETA..)

voici une version fonctionnnelle pour le 1.1 :
'***
Function GetFirstDayOfWeek(ByVal nYear As Int32, ByVal nWeek As Int32)
As DateTime

Dim dt As DateTime
Dim cal As Calendar = DateTimeFormatInfo.CurrentInfo.Calendar
Dim cwr As CalendarWeekRule DateTimeFormatInfo.CurrentInfo.CalendarWeekRule
Dim fdw As FirstDayOfWeek DateTimeFormatInfo.CurrentInfo.FirstDayOfWeek

Try
If nWeek >= 1 AndAlso nWeek <= 53 Then
dt = New Date(nYear, 1, 1)
dt = dt.AddDays(-7) ' Ensure that we start before the first
week
Dim weekOfYear As Int32 = cal.GetWeekOfYear(dt, cwr, fdw)
While weekOfYear <> 1
dt = dt.AddDays(1)
weekOfYear = cal.GetWeekOfYear(dt, cwr, fdw)
' The following is a workaround for the bug described
inQ200299,
' which is still present in .NET
If weekOfYear = 53 AndAlso
cal.GetWeekOfYear(dt.AddDays(7), cwr, fdw) = 2 Then
weekOfYear = 1
End If
End While
dt = dt.AddDays((nWeek - 1) * 7)
weekOfYear = cal.GetWeekOfYear(dt, cwr, fdw)
' The following is a workaround for the bug described in
Q200299,
' which is still present in .NET
If weekOfYear = 53 AndAlso cal.GetWeekOfYear(dt.AddDays(7),
cwr, fdw) = 2 Then
weekOfYear = 1
End If
If weekOfYear = nWeek Then
Return dt
End If
End If
Catch e As Exception
End Try
Return Date.MinValue

End Function
'***


--
Cordialement
Yanick
MVP pour Visual Basic
"Annie L." a écrit dans le message de
news:
J'ai regardé la fonction mais il y a un petit problème. Il est écrit : Dim
dateTimeFormat As DateTimeFormatInfo = Culture.CurrentCulture

Le mot 'culture' est en erreur. Pourtant j'ai déclaré au début de mon


module
"Imports System.Globalization". Il me manque peut-être un 'Imports' ou le


mot
'culture' n'existe pas ?
Qu'en pensez-vous? Merci!




"Zoury" wrote:

> reSalut Annie! :O)
>
> regarde ce lien
> http://groups.google.com/groups?selm=%23ngi7%23zeCHA.2496%40tkmsftngp11
>
> --
> Cordialement
> Yanick
> MVP pour Visual Basic
>
> "Annie L." a écrit dans le message de
> news:
> > En saisissant un no. semaine, peut-on avoir la date correspondant :


no.
> > semaine = 8 (du 21 février au 27 février 2005).
> >
> > Merci de votre aide!
>
>
>