Gibt es einen Parser für natürliche Sprache für Datum/Uhrzeit in Javascript?Gibt es einen Parser für natürliche Sprache für Datum/Uhrzeit in Javascript?
Antwort
SugarJS unterstützt einige natürliche Sprache Parsing von Daten und Uhrzeiten.
Sie können hier zum Live-Beispiel springen: http://sugarjs.com/dates
Zum Beispiel unterstützt es die folgenden Eingänge:
- morgen
- 2 Wochen von Montag
- 25. Mai von nächstes Jahr
Sie können dann das Ergebnis in differen konvertieren t Datumsformate oder verwenden Sie die API, um das Datum weiter zu manipulieren.
SugarJS ist besser, besonders bei der Behandlung von Fällen, die Datum und Uhrzeit enthalten. – Haozhun
Ich stimme @Haozhun völlig zu.Ich habe MomentJS, DateJS und SugarJS schon vorher benutzt, aber IMO letzteres ist mit Abstand das beste bei NLP. –
Erfüllt Date.js Ihre Bedürfnisse? Oder suchen Sie etwas anderes?
Ich fand das, aber der Quellcode macht mir Angst, auf mehreren Ebenen. Ich habe auf etwas gehofft, das in eine der "modernen" Javascript-Bibliotheken integriert ist. –
Was erschreckt Sie, die Erweiterung von nativen Objekten? Oder etwas anderes? – Nosredna
auf der Oberfläche, die fehlende Formatierung und/oder das Fehlen einer Entwicklungsversion und einer Produktionsversion. Es ist auch kein aktives Projekt, das nicht für jeden relevant sein kann. –
Sie können die jQuery Datepicker-Übersetzung verwenden, die Tag- und Monatsnummer abrufen und den Tag von datepicker days auswählen.
Sie können Werte zu diesem Objekt hinzufügen, und Sie können bis zu 60 Sprachen herunterladen, denke ich. (Das Objekt unten ist nicht vollständig, ich habe etwas Code entfernt, um es zu vereinfachen).
$.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ö']
};
erhalten Jetzt den Tag und Monat Anzahl
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];
Dies beantwortet die Frage nicht. OP fragt nach einem * Parser *, dh nach einer Funktion, die einen String wie '23/02/1945 'oder' nächsten Montag 'verwendet und ein' Date'-Objekt zurückgibt. – bfontaine
ich eine kleine Bibliothek mit dem Namen Chrono zum Parsen Datum in Javascript zu entwickelt haben. Ich füge auch Datumsbereich Parsing-Funktion (wie '12 November - 13. Dezember 2012 ')
Sie können in here einchecken.
Sie haben das beste NLP für die Zeit, die ich bisher in JavaScript gefunden habe. Bisher wäre Rang: # 1 chrono, # 2 sugarjs, # 3 datejs. Tipp: Ich schlage vor, Sie in Chronojs umzubenennen, um ihm einen durchsuchbaren und unverwechselbaren Namen zu geben. –
Sehr ähnlich wie Ihre anderen Post http://stackoverflow.com/questions/1003330/is-there-a-natural-language-parser-for-date-times-in-coldfusion Warum nicht einfach sagen: Javascript oder kalte Fusion? – samoz
Eine ist eine Client-seitige Lösung, eine ist eine Server-Seite. Ich hatte das Gefühl, dass der Versuch, sie zu kombinieren, zu 3 Fragen führen würde: 1. Was ist besser? 2. Was ist die beste Client-seitige Lösung? 3.Was ist die beste serverseitige Lösung? –