date_login

Olá a todos. Boa noite. Pesquisei no forum mas não encontrei resposta para a dúvida. Criei uma aplicação consulta para exibir os usuários logados no sistema. Obviamente que os dados estão vindo da tabela sec_logged, criada automaticamente pelo módulo de segurança do SC.
ocorre que não consigo mostrar a data de login, que está guardada no campo date_login da tabela. No banco este campo é do tipo VARCHAR(128) e no campo da aplicação coloquei o tipo de campo como data_hora e na exibição formatei para: ddmmaaaa hhmmss, no entanto o que retorna é 00/00/0 00:00:00.

O valor guardado no banco para este campo é algo como:1419198128.5856

O que pode ser?

Aguardo ajuda.

Obrigado.

Você quer trazer os usuários logados em tempo de execução ou quer tipo, criar um histórico de usuários que se conectam em determinado dia? Se for a segunda opção, utilize um date(Y,m,d) para a data atual. Se for a primeira opção, não sei como fazer. Teria que estudar o caso, tabelas, etc…

Olá Fred. Boa noite. O que eu fiz com a consulta foi trazer os usuários logados em tempo de execução. Inclusive funciona legal, e mostra o conteúdo da tabela seg_logged. O problema é que nesta tabela o campo date_login é varchar(128) e o conteúdo é como falei: 1419198128.5856, e não consigo transformar isto em um formato de data e hora.

E aí pessoal? Alguma sugestão?

Alguma sugestão pessoal?

Walter,

Esse dado tá parecendo com tipo timestamp não? Se for, tente o seguinte:

$timestamp_converte={date_login};

// criamos $nova_data para converter esse timestamp para data atual
$nova_data=date(“d/m/Y G:i:s”, $timestamp_converte);

Obrigado Kleiber.

Desculpe a demora em lhe responder, é que só tive acesso a net agora.

Valeu, resolveu completamente o problema.

Obrigado.

Disponha. Coloque o tópico como RESOLVIDO, ok?

Prezado Kleyber, estou com o mesmo problema (duvida).

Criei um grid e preciso exibir essa data/hora que esta na base em formato timestamp.

Onde devo colocar o codigo que você indicou?

Obrigado e Abraço

Coloque no OnScriptInit (não estou na minha máquina que tem o SC agora)… e mande mostrar a variável, ao invés do campo.

Obrigado Kleyber já consegui exibir alguma coisa que não seja 0, porém ainda não funciona.

Na empresa que trabalho utiliza uma ferramenta chamada One or Zero para controle de helpdesk. Eu estou fazendo apenas algumas consultas a tabela, para fazer relatórios mais informativos. Fazendo a conversão como você deu a dica todos os valores ficam 31/12/1969 21:00.

Id Create Date Supporter User Short Lastupdate Status nova_data
643 1.324.570.375 edson sueli cabo de rede 1.355.451.188 Aberto 31/12/1969 21:00:00
843 1.359.122.382 edson paulo Monitores de controle 1.359.559.318 Aguardando terceiros 31/12/1969 21:00:00

wnolau,

Veja como está o formato da data no teu banco de dados e faça a conversão usando esse formato. O SC vai pegar o formato e exibir corretamente.

Desculpa continuar insistindo, mas tenho pouco conhecimento ainda e estou apanhando a procura disso. Em minha base esse campo é INT(60) não é formato date nem timestamp.

wnolau,

Faça o seguinte: na tua grid crie um campo DATA E HORA, coloque o resultado da conversão nesse campo e mostre esse campo, ao invés do campo original.

É exatamente isso que estou tentando.
Essa tabelinha que coloquei a pouco mostra o campo original “create_data” e o campo que estou criando “nova_Data”.

Já defini ele como data e Hora, como data somente, como número. A impressão que tenho é que a conversão não está funcionando.

OnScriptinit:
$timestamp_converte={create_date};
{nova_data}=date(“d/m/Y G:i”, $timestamp_converte);

Tente o seguinte:

$timestamp_converte={create_date};
{nova_data}=date(“Y-m-d G:i”, $timestamp_converte);

Kleyber, boa noite.

Dessa forma fica em branco, não aparece nada.