FAQ ASP.NET/VB.NET
FAQ ASP.NET/VB.NETConsultez toutes les FAQ
Nombre d'auteurs : 38, nombre de questions : 369, dernière mise à jour : 16 juin 2021
Il est fréquent d'encoder une date sous forme d'une chaîne de caractères. La plupart du temps, le développeur d'applications souhaitera manipuler un objet DateTime, c'est pourquoi la conversion (casting) est importante.
Dim
maDateChaine As
String
=
"03/06/2005 17:06:00"
Dim
maDate As
DateTime =
DateTime.Parse
(
maDateChaine)
Bien que ceci soit très simple, la question revient fréquemment...
Dim
diff As
TimeSpan =
date1 -
date2
Le TimeSpan permet de récupérer des durées au format heures, minutes, secondes.
On utilisera ceci, entre autres, pour connaître la durée d'un travail, la durée d'exécution d'une requête
et bien d'autres choses.
Lien : Comment savoir le temps nécessaire à l'exécution d'une requête?
Une solution pour récupérer une date à partir d'indications telles que
- le jour de la semaine
- le numéro de la semaine
- l'année
par exemple: "Quelle est la date du mercredi de la semaine 45 de l'année 2005?"
Imaginons pour cela un formulaire simple avec :
1. 1 NumericUpDown "jourValue" pour les jours de la semaine (1-7)
2. 1 NumericUpDown "semaineValue" pour les semaines de l'année (1-52)
3. 1 TextBox "AnneeValue" pour l'année
4. 1 Label "resultat"
5. 1 bouton "Valider"
Imports
System
'...
Private
Const
libelle As
String
=
"Vous avez recherché : Le "
;
'...
Private
Sub
Valider_Click
(
ByVal
sender As
Object
, ByVal
e As
EventArgs) Handles
Valider.Click
Dim
lannee As
Integer
With
Me
'Verifier si la saisie est bien numérique
'Recuperer l'année saisie
With
.anneeValue
If
IsNumeric
(
.Text
) Then
lannee =
CType
(
.Text
, Integer
)
Else
: Exit
Sub
End
If
End
With
'Imposer une date référencée au 01/01/ de l'année
Dim
dateRef As
New
DateTime
(
lannee, 1
, 1
)
With
.semaineValue
'Recuperer le choix de la semaine
Dim
week As
Double
=
CType
(
.Value
, Double
)
'Ajuster le nombre de jours/semaine à la date référencée
If
week >
1
Then
dateRef =
dateRef.AddDays
((
week -
1
) *
7
)
End
With
With
.jourValue
'Recuperer le choix du jour
Dim
day
As
Double
=
CType
(
.Value
, Double
)
'Recuperer le jour de la semaine de la date référencée
Dim
j As
Integer
=
CType
((
dateRef.DayOfWeek
), Integer
)
'Ajuster en fonction de la difference des deux
Select
Case
j
Case
Is
>
day
: dateRef =
dateRef.AddDays
(-(
j -
day
))
Case
Is
<
day
: dateRef =
dateRef.AddDays
(
day
-
j)
End
Select
End
With
'Afficher le resultat
With
.resultat
.Text
=
String
.Empty
.Text
&=
libelle
.Text
&=
dateRef.ToLongDateString
End
With
End
With
End
Sub