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

JavaScript Discussion :

Ajouter 1 jour à une date dans un input


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Par défaut Ajouter 1 jour à une date dans un input
    Bonjour à tous,

    Voilà, j'ai une date dans un input qui est comme ceci : 22/10/2010

    J'ai trouvé cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    addDays = function(d, j){
    	return new Date(d.getTime() + (1000 * 60 * 60 * 24 * j));
    }
    	var uneDate = new Date();
     
    	var temp = addDays(uneDate, 1);
    	alert(temp);
    et avec ca on peut ajouter un jour à une date... Par contre j'ai testé de faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    addDays = function(d, j){
    	return new Date(d.getTime() + (1000 * 60 * 60 * 24 * j));
    }
     
    	var date=document.getElementById('monInput').value;
    	var jour = date.substring(0,date.indexOf('/'));
    	var mois = date.substring(date.indexOf('/')+1, date.indexOf('/')+date.indexOf('/')+1);
    	var annee = date.substring(date.indexOf('/')+date.indexOf('/')+2,date.length);
     
    	var uneDate = new Date(mois+'/'+jour+'/'+annee);
     
    	var temp = addDays(uneDate, 1);
    	alert(temp);
    et le soucis est que lorsque j'insère dans mon input le jour 31/10/2010, il va m'alerter le 31/10/2010 et non le 01/11/2010... Es-ce que vous auriez une fonction ou idée de retouche de la fonction ? Ou peut-être es-ce mois qui ai fait une erreur ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    un classique...
    il faut ajouter dans l'ordre année mois jours ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Par défaut
    Heu c'était ajouté dans l'ordre mais je crois qu'il s'agit de l'heure, car une fois si j'alerte ma date cela m'affiche GMT+0200 et lorsque j'affiche ma deuxième date additionnée GMT+0100....

    Voilà le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    addDays = function(d, j){
    		return new Date(d.getTime() + (1000 * 60 * 60 * 24 * j));
    	}
     
    	var date=document.getElementById('Rech_Du').value;
    	var jour = date.substring(0,date.indexOf('/'));
    	var mois = date.substring(date.indexOf('/')+1, date.indexOf('/')+date.indexOf('/')+1);
    	var annee = date.substring(date.indexOf('/')+date.indexOf('/')+2,date.length);
     
    	var laDate=new Date(mois+'/'+jour+'/'+annee+' 00:00:00');
    	alert(laDate);
     
    	var temp = addDays(laDate, 1);
    	alert(temp);
    Donc ca commence déjà à m'orienter ^^

  4. #4
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    On dirait que c'est ton instanciation de la date qui ne va pas (avec des slashes ? ). Essaie ceci :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    var uneDate = new Date(annee,mois,jour);

  5. #5
    Membre confirmé Avatar de tidus_6_9_2
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Par défaut
    Oui je formatte avant ^^ donc je risque pas d'avoir des soucis lors de l'instance.

    J'ai trouvé une solution il me suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    addDays = function(d, j){
    		return new Date(d.getTime() + (1000 * 60 * 60 * 24 * j));
    	}
     
    	var date=document.getElementById('Rech_Du').value;
    	var jour = date.substring(0,date.indexOf('/'));
    	var mois = date.substring(date.indexOf('/')+1, date.indexOf('/')+date.indexOf('/')+1);
    	var annee = date.substring(date.indexOf('/')+date.indexOf('/')+2,date.length);
     
    	var laDate=new Date(mois+'/'+jour+'/'+annee+' 02:00:00');
    	alert(laDate);
     
    	var temp = addDays(laDate, 1);
    	alert(temp);
    donc de mettre l'heure à 02:00:00 et sa fonctionne... Je sais pas si sa fonctionnera dans tous les cas mais j'espère ^^ enfin je vais mettre 12:00:00 sa devrait être bon avec le décalage horaire je suppose ?

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

Discussions similaires

  1. Ajouter des jours à une date dans une requête HQL
    Par jojo el merou dans le forum Hibernate
    Réponses: 3
    Dernier message: 30/11/2007, 14h37
  2. Ajouter un jour à une date
    Par loudo dans le forum Oracle
    Réponses: 13
    Dernier message: 10/07/2006, 12h06
  3. [MySQL] ajout de jour à une date
    Par mohican13 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/03/2006, 17h39
  4. ajouter 1 mois à une date dans une requete
    Par alain.lc dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 04/04/2005, 12h05

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