FAQ ASP.NET/C#Consultez toutes les FAQ

Nombre d'auteurs : 39, nombre de questions : 371, dernière mise à jour : 22 septembre 2007 

 
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

String maDateChaine = "03/06/2005 17:06:00";
DateTime maDate = 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

TimeSpan diff = 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

using System;
//...
private const string libelle = "Vous avez recherché : Le ";
//...
private void Valider_Click(object sender, EventArgs e)
{
	//Verifier si la saisie est bien numérique

	//Recuperer l'année saisie
	int lannee = Convert.ToInt32(this.anneeValue.Text);

	//Imposer une date référencée au 01/01/ de l'année
	DateTime dateRef = new DateTime(lannee, 1, 1);

	//Recuperer le choix de la semaine
	double week = (double)this.semaineValue.Value;

	//Ajuster le nombre de jours/semaine à la date référencée
	if(week > 1)
		dateRef = dateRef.AddDays((week - 1) * 7);

	//Recuperer le choix du jour
	double day = (double)this.jourValue.Value;
	//Recuperer le jour de la semaine de la date référencée
	int j  = (int)dateRef.DayOfWeek;

	//Ajuster en fonction de la difference des deux
	if(j > day)
		dateRef = dateRef.AddDays(-(j - day));
	if(j < day)
		dateRef = dateRef.AddDays(day - j);

	//Afficher le resultat
	resultat.Text = libelle;
	resultat.Text += dateRef.ToLongDateString;
}
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 et 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.