Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Augusto

Pegar apenas a data...

Recommended Posts

Estou adicionando um recurso na autenticação de um sistema que visa impedir o compartilhamento de contas, já que será vendido o licenciamento.

 

Enfim. A data do último login é passada pela URL (e tratada depois, lógico).

 

Porém, no Painel Administrativo do Sistema, onde eu controlarei com outro módulo esse compartilhamento indevido, eu preciso ter a possibilidade de listar acessos simultâneos das contas.

 

Entretanto, como essa data armazenada na tabela de logs é gerada com UNIX_TIMESTAMP() do MySQL, ao listar, o SELECT retorna todos os registros que baterem com essa data.

 

O problema é que nesse valor, está incluso a hora e os segundos e, na prática, é imposível dois logins ao mesmíssimo tempo.

 

E é isso que gostaria de saber, se tem como, a partir de um timestamp pegar apenas o referente à dia, mês e ano, ignorando-se as horas e segundos.

 

Isso é mais por não querer mudar a estrutura do banco de dados para ter dois campos, um só para hora e outo só para data.

 

Essa "abstração" é possível?

 

[EDIT]

 

Consegui alguma coisa combinando strtotime() com date(), mas ainda assim não bate por causa das horas, minutos e segundos que fazem diferir do timestamp armazenado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou da uma mao para voce amigo veja isto.

Este codico tem Hora e data sem complicação.

 

hora.php

 

<?php
#By Radio Meadd
# Modificado por Renildo

$diasemana[0] = "Domingo";
$diasemana[1] = "Segunda-feira";
$diasemana[2] = "Terça-feira";
$diasemana[3] = "Quarta-feira";
$diasemana[4] = "Quinta-feira";
$diasemana[5] = "Sexta-feira";
$diasemana[6] = "Sábado";

$mesnome[1] = "janeiro";
$mesnome[2] = "fevereiro";
$mesnome[3] = "março";
$mesnome[4] = "abril";
$mesnome[5] = "maio";
$mesnome[6] = "junho";
$mesnome[7] = "julho";
$mesnome[8] = "agosto";
$mesnome[9] = "setembro";
$mesnome[10] = "outubro";
$mesnome[11] = "novembro";
$mesnome[12] = "dezembro";

$ano = date('Y');
$mes = date('n');
$dia = date('d');
$diasem = date('w');
$hora=getdate();
//inicio da Modificação
if ($hora['minutes']<10)
{
	   $hora['minutes']="0".$hora['minutes'] ;
}
// fim da Modificação
$horacerta=($hora['hours'].':'.$hora['minutes']);
//Como ficará a data e hora
$data = 'Hoje é '.$diasemana[$diasem].', dia '.$dia.' de '.$mesnome[$mes].' de '.$ano.' <br> Hora: '.$horacerta;
//parte do HTML
echo "<html><head><title></title></head><body>";
echo $data;
echo "</body></html>";
?>

Que mais sistemas?

acessem www.radiomeadd.com.br/sistemas.php

MSN: renldo@radiomeadd.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Radio Meadd, você não entendeu.

 

Um timestamp, até onde sei é o número de segundos desde 1 de Janeiro de 1970. Com esses segundos eu posso formatar para exibir dia mês e ano.

 

Eu estou realizando uma consulta que compare tempo, porém não existe possibilidade racional de haverem dois timestamps identicos.

 

Logo eu quero, das duas uma: Ou "pegar" apenas a data para realizar o SELECT ou atribuir "qualquer valor" como sendo horas, minutos e segundos.

 

Tipo um coringa de expressão regular, entende?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.