Date.js против Moment.js (и форматирование на стороне сервера)

Я использую Date.js в своем проекте и недавно прочитал пост о том, что moment.js был выше.

Однако мне трудно поверить, что это просто из-за того, что он не может проанализировать ввод, например «через 5 дней», до фактической даты n.

Мое личное желание/требования таковы, что

  1. Я могу принимать различные входные данные (текстовые поля) и отправлять их в виде правильно отформатированных дат.
  2. Я могу взять правильно отформатированные даты и вывести их как дружественные (или просто проанализировать их по-другому).

Date.js делает и то, и другое. Moment.js, кажется, делает только # 2...

Я что-то упустил, или мне все еще нравится использовать Date.js?

Кроме того... для моего проекта rails. Что лучше форматировать на стороне сервера или на стороне клиента? т.е. У меня есть несколько вещей, которые я хотел бы отформатировать на основе условия относительной даты. (Например, добавьте класс, если это будет через 10 дней или через 0 дней)... плюсы/минусы анализа/манипулирования данными на стороне клиента/сервера?


person Kevin Brown    schedule 21.06.2013    source источник
comment
Помните об отказе от Datejs. Вы можете использовать оба, но просто используйте Datejs для тех частей, которых не хватает в momentjs.   -  person Matt Johnson-Pint    schedule 13.07.2013
comment
Я заметил это... на самом деле, последние несколько недель, когда я работал над другими проблемами с моим приложением, я решил вернуться к moment.js... стоит отказаться от возможности разбирать входные строки...   -  person Kevin Brown    schedule 15.07.2013
comment
не могли бы вы добавить пример чего-то, что не может сделать momentjs. Недавно я решил добавить моменты в проект, и я нахожу его вполне завершенным... спасибо   -  person David Perlman    schedule 11.10.2013
comment
@DavidPerlman, moment.js не может принимать различные входные данные, такие как текстовые поля, и отправлять их в виде отформатированных дат, он принимает только форматы, которые уже являются какой-то датой ... например, date.js может принимать такие строки, как ' сегодня» и форматировать их как строку даты, тогда как moment.js не может.   -  person Kevin Brown    schedule 15.10.2013
comment
Существует форк DateJ, который активно поддерживается: github.com/abritinthebay/datejs   -  person srgstm    schedule 30.01.2014
comment
Другая более стабильная библиотека, которая может выполнять эту функцию, — Sugar.   -  person Matt Johnson-Pint    schedule 23.09.2014


Ответы (2)


Ты прав. Moment.JS не обрабатывает # 2 .... только Date.js.

Что касается сервера и клиента... Я склонен выгружать вычисления клиенту, если я не создаю мобильное приложение. В конце концов, пусть приложение/проект определяет, где должны происходить вычисления.

person Johnny Guillen    schedule 21.06.2013
comment
Итак, я прав, думая, что было бы лучше использовать jquery для условного применения классов, основанных на датах, относящихся к сегодняшнему дню, вместо того, чтобы использовать вспомогательные функции в рельсах для их применения? Это лучшая практика в целом? - person Kevin Brown; 22.06.2013
comment
Да вы правы. Я бы сказал, что лучше всего делать это на стороне клиента, а не на стороне сервера. В общем, любую работу, которую вы можете передать клиенту, я всегда буду делать, потому что это всегда будет увеличивать время отклика. - person Johnny Guillen; 01.07.2013

С момента вопроса прошло 8 лет. Ситуация немного изменилась.

momentjs имеет веб-сайт и github содержит изменения с (6 октября 2020 г.). Это своего рода активная стадия разработки, когда исходный репозиторий Datejs заархивирован владельцем. Теперь существует DateJS: Evolved форма проекта abritinthebay, в которой есть последние изменения (17 декабря 2014 г.)

Итог - momentjs еще жив, а Datejs нет.

person Yevgeniy Afanasyev    schedule 09.06.2021