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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

calcul de date : date + 1 an - 1 jour


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Janvier 2005
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 534
    Par défaut calcul de date : date + 1 an - 1 jour
    Bonjour

    Afin de connaitre la validité d'une garantie légale d'un an, je souhaite effectuer le calcul de date suivant :

    boolean LegalGuaranteeDate = (actualDate - deliveryDate = 1 an - 1 jour)

    je cherche la bonne syntaxe en C#

    Si quelqu'un avait le code sous les doigts ...

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    if date < date.addyears(1).adddays(-1)
    ou un truc dans le genre
    ou sinon faire if datediff(days, datedeb, datefin) < 366
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Janvier 2005
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 534
    Par défaut
    merci

    J'utilise ta première solution tel que ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                DateTime limitLegalGuarantee = dateLastEventSale.AddYears(1).AddDays(-1);
                return (limitLegalGuarantee >= DateTime.Now);

    avec "dateLastEventSale" = date de livraison effectuée
    et "limitLegalGuarantee " = date limite de garantie calculée


  4. #4
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Pol63, pour chipoter, pour le datediff et surtout le 366, ça soulève une question, la différence entre les années bissextiles et les autres, il faut donc préciser ce que représente 1 an !

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    Citation Envoyé par ostenhard Voir le message
    Pol63, pour chipoter, pour le datediff et surtout le 366, ça soulève une question, la différence entre les années bissextiles et les autres, il faut donc préciser ce que représente 1 an !

    tout à fait !

    d'ailleurs le rêve de tout développeur doit etre qu'il n'y ait pas d'années bissextiles, pas de changement d'heure semestriel, qu'une année soit divisible en un nombre de semaine entier etc...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Pour le coup les années bissextiles, c'est pas trop ch**** quoique ! La règle que j'aime bien aussi c'est celle de la première semaine de l'année sachant qu'elle peut commencer l'année précédente mais là on est hors sujet.

    Mais la question est : Hepil tu dois bien valider que 1 an de garantie équivant à la règle utilisée pour la méthode AddYear(int).

  7. #7
    Membre éclairé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Janvier 2005
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 534
    Par défaut
    Bonjour
    merci à tous pour vos compléments

    Oui, j'ai pris la fonction Year(+1) et Day(-1) car ces fonctions tiennent compte du calendrier et donc des variation du nombre de jours entre les années

    Je ne pense ainsi pas devoir entrer plus dans les détails pour gérer ces soucis
    Un année de garantie légale est effectivement date actuelle + un an - 1 jour, à l'heure prêt ! on prend l'heure de la fermeture du magasin ou habituellement minuit pour l'eCommerce

    @ vous lire

    bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2000] Formulaire word et calcul sur les dates (semaines / jours)
    Par coyote90 dans le forum Word
    Réponses: 8
    Dernier message: 21/01/2013, 15h54
  2. [AC-2007] calcul ecart entre date jour ouvrable
    Par popofpopof dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 04/12/2012, 13h51
  3. [Dojo] Calcul à partir de 2 dates : savoir le nombre de jours qui les séparent
    Par leara500 dans le forum Bibliothèques & Frameworks
    Réponses: 18
    Dernier message: 25/05/2012, 13h13
  4. [WD-2000] Calcul de la date du jour + 7 jours
    Par juju05 dans le forum VBA Word
    Réponses: 7
    Dernier message: 03/12/2010, 09h08
  5. Réponses: 14
    Dernier message: 09/01/2007, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo