Esiste un parser del linguaggio naturale per data/ora in javascript?Esiste un parser del linguaggio naturale per data/ora in javascript?
risposta
SugarJS supporta l'analisi del linguaggio naturale di date e orari.
Si può saltare l'esempio vivo qui: http://sugarjs.com/dates
Per esempio, supporta i seguenti ingressi:
- dopodomani
- 2 settimane dal lunedi
- 25 maggio di l'anno prossimo
È quindi possibile nascondere il risultato in differen t formati di data o utilizzare l'API per manipolare ulteriormente la data.
SugarJS è migliore, soprattutto quando si gestiscono casi che includono sia la data che l'ora. – Haozhun
Sono completamente d'accordo con @Haozhun.Ho usato MomentJS, DateJS e SugarJS prima ma IMO quest'ultimo è di gran lunga il migliore in PNL. –
Date.js soddisfa le tue esigenze? O stai cercando qualcos'altro?
L'ho trovato, ma il codice sorgente mi spaventa, su più livelli. Speravo in qualcosa che si integri con una delle "moderne" librerie javascript. –
Che cosa ti spaventa, l'estensione degli oggetti nativi? O qualcos'altro? – Nosredna
sulla superficie, la mancanza di formattazione e/o la mancanza di una versione di sviluppo e versione di produzione. Inoltre, non è un progetto attivo, che potrebbe non essere pertinente per tutti. –
È possibile utilizzare la traduzione di jQuery datepicker, ottenere il numero del giorno e del mese e selezionare il giorno tra i giorni di data e ora.
È possibile aggiungere valori a questo oggetto e si possono scaricare fino a 60 lingue. (L'oggetto sottostante non è completo, ho rimosso del codice per semplificarlo).
$.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ö']
};
ora ottenere il giorno e il mese numero
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];
Questo non risponde alla domanda. L'OP sta chiedendo un * parser *, cioè una funzione che prende una stringa come '23/02/1945 'o' next lunedi 'e restituisce un oggetto 'Date'. – bfontaine
ho sviluppato una piccola libreria chiamata crono per la data parsing in Javascript troppo. Aggiungo anche la funzione di analisi dell'intervallo di date (ad esempio "12 Nov - 13 dic 2012")
È possibile effettuare il check-in here.
Hai il miglior NLP per il tempo che ho trovato finora in JavaScript. Quindi il grado più alto sarebbe: # 1 chrono, # 2 sugarjs, # 3 datejs. Suggerimento: ti suggerisco di rinominarlo in Chronojs per dargli un nome più ricercabile e distintivo. –
Molto simile al tuo post di altri http://stackoverflow.com/questions/1003330/is-there-a-natural-language-parser-for-date-times-in-coldfusion Perché non basta dire javascript o Cold Fusion? – samoz
Una è una soluzione lato client, una lato server. Sentivo che provare a combinarli avrebbe portato a 3 domande: 1. Quale è meglio? 2. Qual è la migliore soluzione lato client? 3. Qual è la migliore soluzione lato server? –