@Fox Ого, работаю сразу с 5 списками, а не одним, и в базе тоже 5 колонок. И всё равно моментально:
Время работы : 00:00
Спасибо)
База данных: Дата
-
@santilo не совсем это.Мне нужно каждый день получать дату, сравнивать ее со значением в поле.Если не равно, тогда пообнулять счетчики и заменить дату.
Говоришь, в милисекундах..Так это надо как усе пересчитывать, чтобы теперешнюю дату получить в приемлимом формате? Хоть подскажи, куда копать! -
@Viktor используй действие Получить записи -> добавить фильтр, выбираешь поле которое типа дата, далее тип фильтра (допустим Раньше чем) в значение выбираешь тип выражение и пишешь Date.now() это текущая дата в миллесекундах. На выходе будет список записей, ты можешь пройтись по ним циклом foreach
-
Вот так сработает, "выполнить код"
VAR_DATE = new Date() VAR_N = (VAR_DATE) - (VAR_DATE_BORN)При условии, что ты объявил перед этим переменную DATE_BORN, например так:
VAR_DATE_BORN = new Date() -
Ну я вот только что всё проверил.
Тестовый проект -
У тебя в базе дата в каком виде? Если взять дату количеством миллисекунд, прошедших с 01.01.1970, командой
+new Date()то из переменной работает.
Тот же тестовый проект -
Решил вот так. Две колонки типа int
Получаю целое число дней
[[DATE_BORN]] = new Date ()
[[DATE_BORN]] = [[DATE_BORN]] - 0 #придумал такой ход, чтобы извлечь кол-во миллисекунд
[[DATE_BORN]] = [[DATE_BORN]]/(10006060*24) # получаю кол-во дней
[[DATE_BORN]] = Math.floor([[DATE_BORN]]) # превращаю в целое
потом прописываю в базу действием изменить запись если та равна нулюполучаю текущую дату
[[DATE]] = new Date ()
[[DATE]] = [[DATE]] - 0
[[DATE]] = [[DATE]]/(1000 60 60 24) #почему то значки умножения не ставятся
[[DATE]] = Math.floor([[DATE]])[[N]] = [[DATE]]-[[DATE_BORN]] #Узнаю, сколько дней прошло
Может, кому пригодится. -
@support Запись даты в базу в unixtime формате это хорошо, но почему бы не возвращать в этом же формате при чтении?
Как вообще получить дату из базы в нормальный вид типа UnixTime или Date()?Даты при парсинге строки из базы в виде ресурса, возвращаются в формате строки "2017-10-13T22:18:20".
Проверил в консоле обычного браузера преобразуется в дату как надо командной:var date = new Date("2017-10-13T22:18:20");Но тот же самый код отказывается работать в BAS'е:

0_1507926157785_test.xml -
@Geograph said in База данных: Дата:
@support Запись даты в базу в unixtime формате это хорошо, но почему бы не возвращать в этом же формате при чтении?
Как вообще получить дату из базы в нормальный вид типа UnixTime или Date()?Даты при парсинге строки из базы в виде ресурса, возвращаются в формате строки "2017-10-13T22:18:20".
Проверил в консоле обычного браузера преобразуется в дату как надо командной:var date = new Date("2017-10-13T22:18:20");Но тот же самый код отказывается работать в BAS'е:

0_1507926157785_test.xmlДумаю, как временное решение, можно пока переводить дату в UnixTime через команду "Браузер -> Яваскрипт" там выполняется нормально.
new Date([[DATE_FROM_BASE]]).getTime()
Либо отказаться от типа данных в БД "Date" в пользу "Int", но просматривать базу будет неудобно
