IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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 

 
OuvrirSommaireCoté serveur et C#Manipulations des dates

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.

 
Sélectionnez
Dim maDateChaine As String = "03/06/2005 17:06:00"
Dim maDate As DateTime = DateTime.Parse(maDateChaine)
Créé le 3 octobre 2005  par Didier Danse

Bien que ceci soit très simple, la question revient fréquemment...

 
Sélectionnez
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.

Créé le 3 octobre 2005  par Didier Danse

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"

 
Sélectionnez
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
Créé le 1er février 2006  par neguib

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Dotnet Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.