База данных: Дата



  • Вопрос: как поменять?
    Я получаю дату на страничке через "Выполнить код"
    [[DATE_STIRNG]] = new Date()
    [[DATE_YEAR]] = [[DATE_STIRNG]].getFullYear()
    [[DATE_MONTH]] = [[DATE_STIRNG]].getMonth() +1
    [[DATE_DAY]] = [[DATE_STIRNG]].getDate()
    [[DATE_HOURS]] = [[DATE_STIRNG]].getHours()
    [[DATE_MINUTES]] = [[DATE_STIRNG]].getMinutes()
    [[DATE]] = [[DATE_DAY]]+";"+[[DATE_MONTH]]+";"+[[DATE_YEAR]]

    А вот как заменить соответствующее поле в базе данных, что-то не дотумкал..
    Пробовал и менять разделители, и вставлять [[DATE_STRING]] целиком. Ни фига не выходит.



  • @Viktor пожалуйста, помогите кто-нибудь!
    Как заносить в базу данных дату? Какой синтаксис для операций с типом данных date?



  • @Viktor могу ошибиться, но в базу вам надо добавить [[DATE]]



  • @BigLebovski попробую, в любом случае спасибо.



  • @BigLebovski попробовал. Не вышло. Даже не пишется скопированное один к одному значение из самого поля "Дата".
    Support, вернитесь к нам!



  • @Viktor При вставки записи в базу, поле c типом date можешь оставлять пустым, и это поле автоматом заполнится текущей датой.



  • @santilo оно все время имеет какое то значение. Не очистить его...



  • @Viktor это поле не может быть пустым



  • @santilo ага. оно автоматом заполняется датой 1970 года..



  • @Viktor Этот тип поля принимает timestamp в миллисекундах , формат который у тебя в первом посте не пройдет, оставляй это поле пустым (чтобы использовалась текущую дата автоматом), вроде тебе это нужно.



  • @santilo не совсем это.Мне нужно каждый день получать дату, сравнивать ее со значением в поле.Если не равно, тогда пообнулять счетчики и заменить дату.
    Говоришь, в милисекундах..Так это надо как усе пересчитывать, чтобы теперешнюю дату получить в приемлимом формате? Хоть подскажи, куда копать!



  • @Viktor используй действие Получить записи -> добавить фильтр, выбираешь поле которое типа дата, далее тип фильтра (допустим Раньше чем) в значение выбираешь тип выражение и пишешь Date.now() это текущая дата в миллесекундах. На выходе будет список записей, ты можешь пройтись по ним циклом foreach



  • @santilo получилось! Спасибо!



  • @santilo
    Может, теперь подскажешь как вычесть одну дату из другой?
    Яваскрипт это позволяет, но код вида
    [[DATE]] = new Date()
    [[N]] = [[DATE]] - [[DATE_BORN]];

    не работает..



  • Вот так сработает, "выполнить код"

    VAR_DATE = new Date()
    VAR_N = (VAR_DATE) - (VAR_DATE_BORN)
    

    При условии, что ты объявил перед этим переменную DATE_BORN, например так:

    VAR_DATE_BORN = new Date()
    


  • @Fox я тактоже делал
    Только в скобочки не занес. Возвращало null
    И сейчас возвращает ((
    В обоих переменных четко формат даты. Причем, неодинаковой. 1-я больше 2-й..



  • Ну я вот только что всё проверил.
    Тестовый проект



  • @Fox это мистика какая-то. Код работает, и у тебя и у меня в проектах. Но если DATE_BORN брать из базы, то возвращает null



  • У тебя в базе дата в каком виде? Если взять дату количеством миллисекунд, прошедших с 01.01.1970, командой

    +new Date()
    

    то из переменной работает.
    Тот же тестовый проект



  • @Fox там точно тип данных date. Единственное, что я внес его копипастом. На вид тоже самое.


Log in to reply