Я пытаюсь позволить пользователям ввести в значениях даты и времени в поле ввода. Некоторые примеры могут включать:
Tomorrow at 3pm
Now
Today at 1pm
Next tuesday 4pm
Как я пошел бы о парсинге такого читаемого текста в дату/строки времени?
E.g. dd/mm/yyyy hh:mm
Это может быть сделано клиентское использование jQuery, или это должно быть сделано ajax через php?
Заранее спасибо за любой совет или понимание :)
Спасибо, Синан и вср. Я проголосовал за оба ваших ответа. Сначала я был очень взволнован тем, что может предложить datejs, но, похоже, его способность обрабатывать дату и время на естественном языке ограничена. Он не очень хорошо обрабатывает дату и время.
timeapi.org выглядит многообещающим, но поскольку он использует Ruby, а версия api полагается на службу, которая не кажется очень надежной.
Я тестировал php strtotime и обнаружил, что он может довольно хорошо обрабатывать дату и время на естественном языке. Использование php позволяет мне добавлять другие термины естественного языка, которые также не поддерживаются. Похоже, я использую ajax для обработки даты на естественном языке от пользователя.
Хотелось бы услышать ваше мнение о моем подходе. :) еще раз спасибо!
Существует библиотека javascript с открытым исходным кодом, выполняющая вся эта прикольная фигня с финиками. Вы можете ознакомиться с http://www.datejs.com/
Хотя я голосую за datejs.com, другой вариант - timeapi.org.
timeapi.org имеет JSONP API для преобразования запросов на естественном языке в дату и время.