Я ищу алгоритм нечеткой даты. Я только начал писать один и понял, что это утомительное задание. Он быстро выродился во множество ужасных кодов, чтобы справиться с особыми случаями, такими как разница между «вчера», «прошлой неделей» и «концом прошлого месяца», которые могут (в некоторых случаях) относиться к одному и тому же дню, но индивидуально верны на основании сегодняшней даты.
Я уверен, что должен быть нечеткий форматер даты с открытым исходным кодом, но я не могу его найти. В идеале я хотел бы что-то, используя NSDate (OSX / iPhone) и его средства форматирования, но это не сложный момент. Кто-нибудь знает, что средство форматирования нечеткой даты берет любой период времени относительно текущего и возвращает строку, подобную (но не ограничивающуюся):
- несколько минут назад
- за последние пять минут
- ранее сегодня
- сегодня утром
- прошлой ночью
- на прошлой неделе
- в прошлую среду
- в начале прошлого месяца
- июнь прошлого года
- пару лет назад
В идеальном мире я бы хотел, чтобы строка была как можно более насыщенной (т. Е. Возвращать случайные варианты слова «Только минуту назад», например, «только сейчас»).
Разъяснение. Я ищу что-то более тонкое, чем обычные клюшки и веревки. Я хочу, чтобы что-то, что знает, что «вчера» и «последняя среда» могут относиться к одному и тому же периоду, но только один является правильным, когда сегодня четверг.