Проверка даты
-
Помогите не получается сделать то что хочу уже несколько часов мучаюсь с этим
У меня есть дата в таком в виде "20.10.2017"(это будет основная дата) и скрипт получает текст с сайта в виде "21.11.2017" или "5.11.2017" нужно проверить первую дату с остальными если на сайте дата "5.11.2017" то нужно выводить false если совпадает или же "21.10.2017" то true
я сделал так с помощью js поменял местами Д.М.Г. "2017.10.20" и убрал точки и получается так "20171020", "20171121" и "2017115" после функция if выводит больше или меньше так (20171020) < (20171121) но так как дата идет в виде "5.11.2017" а не "05.11.2017" функция if считывает что дата меньше потому что нет 0 выглядит это так (20171020) < (2017115) если бы было так 20171105 то получилось бы больше...
Как можно сделать все это? я думаю будет легче просто смотреть дату в начале 5.11.2017 если до первой точки только одна цифра то добавить 0 потом проверить до следующей точки если и там одна цифра то еще добавить 0как с помощью js сделать так
из 5.11.2017 или 5.8.2017
в 05.11.2017 или 05.08.2017
-
@GamiD
рекомендую сравнивать по unix time
-
-
0_1511547939333_Проверка даты.xml
добавить нули можно так
-
@afgd said in Проверка даты:
0_1511547939333_Проверка даты.xml
добавить нули можно така есть чуть по проще вариант слишком много действий а так спасибо и за это
-
@afgd said in Проверка даты:
0_1511547939333_Проверка даты.xml
добавить нули можно такСпасибо твой способ чуть изменил сперва парсил строку в per1, per2 и per3
и вот скрипт
(((([[PER1]]).length) == (2)) ? ([[PER1]] + ".") : ("0" + [[PER1]] + ".")) + (((([[PER2]]).length) == (2)) ? ([[PER2]] + "." + [[PER3]]) : ("0" + [[PER2]] + "." + [[PER3]]))Получилось как и хотел
-
@GamiD
Через выполнить код
-
-
Еще один способ сравнить такие даты (строку можно записать в условие)
new Date("21.11.2017".split('.').reverse()) > new Date("5.11.2017".split('.').reverse())
Преобразуем строки в Date и сравниваем уже эти даты между собой
-
Сделал модуль для работы с датой.
Помимо стандартных возможностей, которые поддерживает класс даты в javascript есть еще дополнительные:
Парсинг даты с заданным форматом.
Автоопределение формата даты. Справляется со сложными строками, например,UTC+02:00 10 sep 2010, 18:46
Форматирование даты.
Все входные параметры, которые требуют даты, понимают строки. Можно сделать так:Результат будет 60 секунд.
Работа с часовыми поясами, их можно менять.
Инспектор переменных лучше отображает дату.Модуль можно скачать тут DateTime.zip , и он будет доступен в следующей версии.
-
@support, класс. Красота.
-
@support Получается все эти манипуляции в соседней теме уже не нужны? Прикольно
Так выходит нагляднее:
Тестовый скрипт.
-
@Fox воу, а почему у мен такой фичи нет?:с обновлений чет нет
-
@artihorror так надо архив что support выложил распаковать в папку modules BAS-a и появится :)
-
@bigorat пропустил чет этот сабж, дай ссыль если не затруднит
-
@artihorror так вон же сверху под постом support архив прикреплен DateTime.zip
-
@bigorat ослеп, соре)
-
@support Выручил спасибо