Mystic 4 Denunciar post Postado Setembro 18, 2013 Fala minha gente boa, olha, estou meio sem tempo no momento, por isso vou escrever uma dica rápida okay? Então vamos lá. Esta dica é para quem está no nível iniciante+ Os bancos de dados lidam com datas de uma maneira distinta. Pensando na portabilidade, é melhor não apenas abstrair o banco, mas também alguns dados. Se você precisa das datas apenas para informar quando algo aconteceu, apenas um timestamp é necessário. Se você for usar datas em cláusulas, a disposição dos campos é um pouco diferenciada. /* MySql - timestamp dinâmico */ CREATE TABLE `mystic_table` ( `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, /* * int */ `timestamp_field` TIMESTAMP DEFAULT 0 ); /* MySql - Apenas armazenagem */ CREATE TABLE `mystic_table` ( `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, /* * String(20) */ `timestamp_field` varchar(20) COLLATE utf8_unicode_ci NOT NULL ); Você pode armazenar o "timestamp" de várias maneiras, entre elas estão o próprio banco (se suportar), com o php time() e outros. Com o "timestamp" podemos obter as datas que precisamos. <?php /* * Exemplo para PHP+MySql */ $dsn = "mysql:host=localhost;dbname=your_db_name"; $username = "XXXXXX"; $password = "YYYYYY"; try { $pdo = new PDO($dsn, $username, $password); } catch(PDOException $e) { die("Could not connect to the database\n"); } $statement = $pdo->prepare("SELECT * FROM `mystic_table` WHERE 1"); $statement->execute(); $result = $statement->fetch(); $ts = $result['timestamp_field']; echo "Segundo: ", date( 's', $ts ), "\n"; echo "Minuto: ", date( 'i', $ts ), "\n"; echo "Hora: ", date( 'h', $ts ), "\n"; echo "Dia: ", date( 'd', $ts ), "\n"; echo "Semana: ", date( 'W', $ts ), "\n"; echo "Mês: ", date( 'm', $ts ), "\n"; echo "Ano: ", date( 'Y', $ts ), "\n"; Da para fazer muito mais usando apenas um timestamp. Compartilhar este post Link para o post Compartilhar em outros sites
cristianoolv 93 Denunciar post Postado Setembro 18, 2013 mm/dd/yyyy Compartilhar este post Link para o post Compartilhar em outros sites
Mystic 4 Denunciar post Postado Setembro 19, 2013 mm/dd/yyyy Obrigado pela tentativa de contribuir. [Off] Quero aproveitar para me desculpar com todos por ter "comido uma letra" em "No Only Sql", o correto é "NOT Only Sql". Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 19, 2013 https://en.wikipedia.org/wiki/Year_2038_problem https://en.wikipedia.org/wiki/Unix_time Compartilhar este post Link para o post Compartilhar em outros sites