Definire timp data ora zero ziua urmatoare

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
cadou
Mesaje: 328

Definire timp data ora zero ziua urmatoare

Vroiam sa modific in aceasta interogare:

Cod: Selectaţi tot

        $sql = 'SELECT date_added FROM '.TBL_USER_VOTES.' 
                    WHERE `for`=? AND ( `from`=? OR `ip`=? ) 
                AND `date_added` > "'.A_DAY_AGO.'" LIMIT 1 ' ;
                
 
Unde este "AND `date_added` > .... " si sa adun date_added cu 86400 . Dar ceea ce am incercat NU am reusit
Iar A_DAY_AGO este definit asa :

Cod: Selectaţi tot

define('A_DAY_AGO',date('Y-m-d H:i:s',strtotime('-1 day')));
Ceea ce doresc sa fac si nu am reusit, este ca sa poata vota dupa ora 00:00 , nu dupa 24 de ore de la votul acordat.
Adica daca cineva voteaza pe 29 decembrie 2017 ora 17:00 , urmatorul vot sa il poata da pe 30 decembrie 2017 ora 00:00 (00:01 )

MarPlo Mesaje: 4343
Daca vrei sa adaugi 86400 secunde la strtotime(), poti face asa:

Cod: Selectaţi tot

define('A_DAY_2',date('Y-m-d H:i:s',strtotime('-1 day + 86400 seconds')));
Daca vrei timpul zilei urmatoare, imediat dupa ora 0, merge asa:

Cod: Selectaţi tot

define('A_DAY_2',date('Y-m-d H:i:s',strtotime('midnight tomorrow')));
- La pagina de la adresa urmatoare sunt formate pentru strtotime():
http://php.net/manual/en/datetime.formats.relative.php

cadou Mesaje: 328
Am uitat sa specific un lucru
in tabela, date_added este de forma: 2017-12-30 14:05:35

Cred ca rezolvarea este asa :

Cod: Selectaţi tot

define('A_DAY_2',date('Y-m-d H:i:s',strtotime('midnight')));
Am dreptate ?
- Am facut cateva teste si mi se pare ok.

MarPlo Mesaje: 4343
Depinde ora zero din ce zi iti trebuie.
Daca azi suntem in 30 Decembrie 2017, vei avea urmatoarele rezultate:

Cod: Selectaţi tot

//ora zero a zilei anterioare
define('A_DAY_1',date('Y-m-d H:i:s',strtotime('yesterday')));
echo A_DAY_1; // 2017-12-29 00:00:00

//ora zero a zilei de azi
define('A_DAY_2',date('Y-m-d H:i:s',strtotime('midnight')));
echo '<br>'. A_DAY_2; // 2017-12-30 00:00:00

//ora zero a zilei de maine
define('A_DAY_3',date('Y-m-d H:i:s',strtotime('midnight tomorrow')));
echo '<br>'. A_DAY_3; // 2017-12-31 00:00:00

cadou Mesaje: 328
Am folosit varianta a doua , si pentru moment este ok

Subiecte similare