Existe-t-il un analyseur en langage naturel pour la date et l'heure en javascript?
-
05-07-2019 - |
Question
Existe-t-il un analyseur syntaxique en langage naturel pour la date et l'heure en javascript?
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];