2009-06-16 7 views
18

¿Hay un analizador de lenguaje natural para la fecha/hora en javascript?¿Hay un analizador de lenguaje natural para la fecha/hora en javascript?

+0

muy similar a su otro post http://stackoverflow.com/questions/1003330/is-there-a-natural-language-parser-for-date-times-in-coldfusion ¿Por qué no dicen javascript o Cold Fusion? – samoz

+2

Una es una solución del lado del cliente, una es del lado del servidor. Sentí que tratar de combinarlos resultaría en 3 preguntas: 1. ¿Cuál es mejor? 2. ¿Cuál es la mejor solución del lado del cliente? 3. ¿Es la mejor solución del lado del servidor? –

Respuesta

19

SugarJS es compatible con el análisis del lenguaje natural de las fechas y horas.

Puede saltar al ejemplo vivo aquí: http://sugarjs.com/dates

Por ejemplo, es compatible con las siguientes entradas:

  • el día después de mañana
  • 2 semanas de lunes
  • de mayo de 25 de el próximo año

Puede codificar el resultado en differen t fecha los formatos o usa la API para manipular aún más la fecha.

+3

SugarJS es mejor, especialmente cuando se manejan casos que incluyen fecha y hora. – Haozhun

+0

Estoy completamente de acuerdo con @Haozhun.He usado MomentJS, DateJS y SugarJS antes, pero IMO, el último, es de lejos el mejor en NLP. –

8

¿Satisface Date.js sus necesidades? ¿O estás buscando algo más?

+1

Lo encontré, pero el código fuente me asusta en múltiples niveles. Esperaba algo que se integre con una de las bibliotecas javascript 'modernas'. –

+0

¿Qué te asusta, la extensión de los objetos nativos? ¿O algo mas? – Nosredna

+1

en la superficie, la falta de formato y/o la falta de una versión de desarrollo y versión de producción. Tampoco es un proyecto activo, que puede no ser relevante para todos. –

-5

Puede utilizar la traducción de jQuery datepicker, obtener el número de día y de mes y seleccionar el día de los días de datepicker.

Puede agregar valores a este objeto, y puede descargar hasta 60 idiomas, creo. (El objeto a continuación no está completo, eliminé un código para simplificarlo).

$.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ö'] 
}; 

Ya Obtener el día y mes

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]; 
+0

Esto no responde la pregunta. OP está pidiendo un * analizador *, es decir, una función que toma una cadena como '23/02/1945 'o' el próximo lunes 'y devuelve un objeto 'Fecha'. – bfontaine

17

he desarrollado una pequeña biblioteca llamada crono para analizar la fecha en Javascript también. También agrego la función de análisis de rango de fechas (como '12 de noviembre a 13 de diciembre de 2012 ')

Puede marcar en here.

+3

Tienes la mejor PNL por el tiempo que he encontrado hasta ahora en JavaScript. Hasta ahora el rango sería: # 1 chrono, # 2 sugarjs, # 3 datejs. Sugerencia: le sugiero que cambie el nombre a Chronojs para darle un nombre más fácil de buscar y distintivo. –

Cuestiones relacionadas