Ir para conteúdo

POWERED BY:

Arquivado

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

davisvasconcellos

formatar hora

Recommended Posts

usa a função FormatDateTime

Compartilhar este post


Link para o post
Compartilhar em outros sites

putz. pior que não rolou. tem hora que dá certo..

Erro de tempo de execução do Microsoft VBScript (0x800A000D)

Tipos incompatíveis: 'FormatDateTime'

 

acho que é pq eu recebo o valor como string e não como data. mas não posso trocar o formato de onde recebo.

 

usei tb FormatDateTime(Rsrecurso("total_periodos"),3)

 

mas não rolou

 

:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso exista a possibilidade, verifique o formato do campo que armazena as horas no db e altere para data/hora, alguns bancos de dados tem a opção de marcar o campo como hora ou data apenas, outros tem apenas a opção de marcar como datahora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rsrecurso("total_periodos") precisa ser do tipo correto, tipo data

converta ela use o CDate.

 

Dica: Use a função IsDate para determinar se a data pode ser convertida em uma data ou hora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifiquei o formato dos dados já.. eu estou pegando como string (char)

o problema é que eu "tenho" que pegar assim pq tem uma limitação do mysql de somar campos time/date até 838.ta no manual do mysql.

uam forma de contornar pelo próprio manual é converter para string, separar os segundos e somar como inteiro, depois converter os segundos para hora e salvar como string novamente... ou seja: só consigo string

 

 

o lance do formatDateTime eu acabei descobindo o pq. Só funciona até o tempo menor que 24:00:00 . mais que isso ele gera erro. e é justamente o meu caso.

 

obs1: mandei um vartype e localmente ele retorna •8 = vbString - Indicates a string

obs2: dei um vartype no provedor e ele retorna •8192 = vbArray - Indicates an array

 

estou procurando uma solução ainda.. acho que vou fazer uma função só pra isso.

 

:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

não dá por colocar os campos como formato TIME

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum, os campos da tabela no mysql estão no formato TIME, porém os formatos de data e tempo tem uma limitação no resultado do cálculo de 838:59:59.

 

" MySQL retrieves and displays TIME values in 'HH:MM:SS' format (or 'HHH:MM:SS' format for large hours values). TIME values may range from '-838:59:59' to '838:59:59'. The hours part may be so large because the TIME type can be used not only to represent a time of day (which must be less than 24 hours), but also elapsed time or a time interval between two events (which may be much greater than 24 hours, or even negative)."

 

OS meus resultados ultrapassm isto fácilmente e uma forma de contornar isto é transformar o tempo em segundos tipo 2Min = 120seg... efetuar o somatório e depois converter novamente os segundos .

 

Por isso não posso transformar a saída em TIME pois o mysql gera erro e por isso recebo o resultado como string.

 

acho que a melhor saída é construír uma função já que tenho ?:?:?

dae eu cato pelos ":", transformo num array(sei lá) trato. O primeiro da direita se for len=1 concateno um 0 a mais e os dois da esquerda concatendo um 0 na frente = 0?:0?:?0

 

se alguem tiver alguam cosia já próxima disso eu agradeço. se não eu me viro aki.

se resolver eu posto o resultado.

 

Abs

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.