2010-03-02 10 views
6

Sto provando a consentire agli utenti di digitare i valori di data e ora in un campo di input. Alcuni esempi possono includere:Analisi dei valori di data/ora in linguaggio naturale in stringhe di data/ora formattate

Tomorrow at 3pm 
Now 
Today at 1pm 
Next tuesday 4pm 

Come dovrei andare a analizzare questo testo leggibile in stringhe di data/ora?

Può essere eseguito lato client utilizzando jquery o deve essere eseguito ajax tramite php?

Grazie in anticipo per qualsiasi consiglio o approfondimenti :)

risposta

0

Grazie Sinan e vsr. Ho votato per entrambe le tue risposte. Inizialmente ero molto entusiasta di ciò che datejs ha da offrire, ma sembra limitato nella sua capacità di elaborare il tempo della lingua naturale. Non gestisce molto bene la data e l'ora.

timeapi.org sembra promettente, ma poiché utilizza ruby ​​e la versione api si basa su un servizio che non sembra essere molto affidabile.

Ho eseguito il test con lo strtot di php e ho scoperto che poteva elaborare piuttosto bene un orario di data più naturale. L'utilizzo di php mi consente di aggiungere altri termini in linguaggio naturale non supportati. Quindi sembra che adotterò ajax per elaborare l'ora del linguaggio naturale da parte dell'utente.

Mi piacerebbe sentire le tue opinioni sul mio approccio. :) grazie ancora!

6

V'è un open source libreria javascript fare tutta quella roba funky con date. È possibile controllare http://www.datejs.com/

2

Anche se io voto per datejs.com, un'altra opzione è timeapi.org.

timeapi.org ha un'API JSONP per la conversione di query in linguaggio naturale a data/ora.

0

penso che questo è un duplicato di Is there a natural language parser for date/times in javascript?

La risposta che ho appena dato per questa domanda è qui sotto:

SugarJS supporta alcune 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 diversi d mangiato formati o utilizzare l'API per manipolare ulteriormente la data.

Problemi correlati