J'ai deux champs de saisie pour entrer la date, qui est une jquery datePicker. En utilisant cela, je peux sélectionner des dates. Ils sont enregistrés et vérifient les dates.
De même, j'ai deux boîtes de sélection, à partir de laquelle je peux sélectionner l'heure. Ils enregistrent et vérifient le temps. P>
par exemple: strong> p> Je veux le résultat: différence entre (01 / 05/2014 13:00) et (04/05/2014 18:00)
Comme 3days 5 heures strong> p> violon fort> < / p> p>
3 Réponses :
Fiddle Demo strong> kbd> var end = new Date($('#dout').val());
// ^ missing t in id it's dout not dou
Cela pourrait aider les demandeurs (et les futurs lecteurs) plus si vous incluez une explication de ce que vous avez fait et pourquoi il corrige le problème, au lieu de simplement dumping du code :)
Entre j'ai trouvé mon erreur. Mais le format de date me troublait. Mais vous l'avez effacé :-)
Quand j'ai sélectionné Checkin: 02/05/2014, Checkout: 02/05/2014, Time in: 13:00, Time Out: 12:00, ça donne la différence: 0 jour (s) 1 heure (s) !!! , Mais je pense que cela devrait être 0 jour (s) -1 heure (s)
@TUSHARGUMUTA: Lorsque vous essayez votre violon b> de la réponse, je sélectionne < Code> 01/05/2014 Code> et 02/05/2014 CODE> - 13:00 CODE> et 12:00 CODE> I Obtenir 1 jour (s) 1 heure (s) CODE> s'il devrait être 0 jour (s) 23 heures (s) code> Je ne sais pas ce qui cause cela. Je suis en Irlande et sur le fuseau horaire GMT. C'est peut-être cette conversion de formatage de la date personnalisée. Pas sûr cependant. De toute façon, il n'est pas nécessaire que JQuery DatePicker a une manière native de retourner l'objet de date déjà et l'objet de date a une manière native de définition des heures.
@TUSHARGUGUTA: J'ai trouvé pourquoi, la valeur de l'option TEMPS pour 12:00 code> est définie sur 02:00 code> dans le code, il n'utilise donc que 2 < / code> au lieu de 12 code>. Maintenant, il fonctionne lors de la sélection de 01/05/2014 CODE> et 02/05/2014 CODE> - 13:00 CODE> ET 12:00 Code> I Obtenir 0 jour (s) 23 heures (s) code>. Bien que cela fasse des bonkers sur les négatifs: 01/05/2014 code> et 01/05/2014 code> - 13:00 code> et 12: 12: 00 code> i get -1 jour (s) -1 heure (s) code> s'il ne doit être que 0 jour (s) -1 heure (s) code> ( J'ai eu le même problème et que je ne pouvais contourner que cela garantit de toujours déduire moins de plus gros, puis ajout manuellement - code> dans le texte si recherché.
Utilisez JQuery DatePicker pour choisir des dates
et pour la différence, essayez celui-ci .. p>
html p>
Vous pouvez utiliser le satlePicker natif getDate strong> fonctionnalité pour obtenir l'objet de date. Ensuite, utilisez les informations de cette réponse forte> en ce qui concerne Prendre la journée en tenant compte de l'épargne strong> Vous pouvez utiliser des heures de date UTC pour obtenir les différences exactes. En plus de définir le réglage de la date extrêmement simple, si vous pouvez modifier la valeur code> de vos options, définissez-les sur les valeurs d'heure réelles, similaires à celles-ci: p> et cette p> qui rendra le code si facile en utilisant uniquement Caractéristiques de l'objet de date native Pour calculer vos dates et vos temps, sauf lors de la dividnge de 24 pour obtenir les jours à partir des heures, similaires à ceci: p>
Je voterais votre réponse au lieu de réponse acceptée (@TUSHAR GUPTA'S) comme j'ai commenté sa réponse.
@Ashokdamani: J'ai lu votre commentaire sur -1 heure et j'ai dû regarder mon code. Il m'a fallu un peu de temps pour travailler comme pour une raison quelconque lors de la déduction UTC2 - UTC1 CODE> Quand UTC1 CODE> était plus gros. Les résultats sont passés tous bizarres. Je suis sûr qu'il y a une meilleure façon, mais j'ai calculé les différences à la fin en déduisant toujours plus de plus grandes et ajoutées le - code> si nécessaire à la fin. J'ai inclus les deux options désormais pour l'une ou l'autre du signe - code> ou non. Aussi ajouté une fonction de formatage pratique. Le code devrait maintenant fonctionner pour tous les scénarios.
S'il vous plaît, publiez votre code ici
@hindlt j'ai créé un violon comprenant tout mon code: JSFIDDLE.net/U97JA/2
J'ai déjà remarqué ce lien dans votre code. Cependant je voudrais voir votre code ici
@hindlo j'ai mis mon script ici.
Pour commencer, votre date de fin n'est pas ramassée car vous avez utilisé l'identifiant #dou au lieu de #dout. Corrigez cela et il renvoie un résultat, mais il basse les dates sur des formats américains, il est donc faux.
Essayez de remplacer
var diff = nouvelle date (fin - démarrage); code> avecvar diff = fin.valueof - start.valueof; code>