Question

Existe-t-il un analyseur syntaxique en langage naturel pour la date et l'heure en javascript?

Était-ce utile?

La solution

SugarJS prend en charge l'analyse syntaxique naturelle des dates et des heures.

Vous pouvez accéder à l'exemple en direct ici: http://sugarjs.com/dates

Par exemple, il prend en charge les entrées suivantes:

  • après-demain
  • 2 semaines à partir de lundi
  • 25 mai de l'année prochaine

Vous pouvez ensuite convertir le résultat en différents formats de date ou utiliser l'API pour manipuler davantage la date.

Autres conseils

J'ai également développé une petite bibliothèque appelée chrono pour l'analyse de la date en Javascript. J'ajoute également une fonctionnalité d'analyse de plage de dates (telle que "12 novembre - 13 décembre 2012")

Vous pouvez vérifier ici .

Date.js répond-il à vos besoins? Ou cherchez-vous autre chose?

Pour le nœud, j'ai trouvé chrono bien fonctionner

Chrono prend en charge la plupart des formats de date et d'heure, tels que:

  • Aujourd'hui, demain, hier, vendredi dernier, etc.
  • 17 août 2013 - 19 août 2013
  • Ce vendredi de 13h00 à 16h00
  • Il y a 5 jours
  • dans 2 semaines
  • Samedi 17 août 2013 à 18:40:39 GMT + 09h00 (JST)
  • 2014-11-30T08: 15: 30-05: 30

Vous pouvez utiliser la traduction jQuery datepicker, obtenir le numéro du jour et du mois et sélectionner le jour à partir des jours datepicker.

Vous pouvez ajouter des valeurs à cet objet, et vous pouvez télécharger jusqu'à 60 langues, je pense. (L'objet ci-dessous n'est pas complet, j'ai supprimé du code pour le simplifier).

$.datepicker.regional['sv'] = { 
  monthNames:['Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','November','December'],
  monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec'],
  dayNamesShort: ['Sön','Mån','Tis','Ons','Tor','Fre','Lör'],
  dayNames: ['Söndag','Måndag','Tisdag','Onsdag','Torsdag','Fredag','Lördag'],
  dayNamesMin: ['Sö','Må','Ti','On','To','Fr','Lö']
};

Maintenant, obtenez le numéro du jour et du mois

var dateObject = new Date();
var day = dateObject.getDay();
var month = dateObject.getMonth();
var monthText = $.datepicker.regional['sv']['monthNames'][month];
var dayText = $.datepicker.regional['sv']['dayNames'][day];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top