Jump to content
Fórum Script Brasil
  • 0

Incrementar horas em um campo datetime em um formulário


giursilva

Question

Boa noite Senhores,

Estou dando os primeiros passos no PHP, e não tenho quase nenhuma experiência com desenvolvimento web. Minha base de dados está em SQLSERVER.

O fato é que preciso finalizar um aplicativo que controla os eventos relacionados a um frete. Tenho vários campos do tipo SMALLDATETIME onde estão registrados datas e horas, como por exemplo:

DATA_HORA_CARGA

DATA_HORA_PREV_DESCARGA

Além disso, para cada rota, existe um tempo estimado para conclusão do frete. este campo TEMPO_FRETE é do tipo TIME.

Desta forma, eu preciso que no formulário de registro dos eventos de cada frete, ao atualizar por exemplo o campo DATA_HORA_CARGA, o sistema automaticamente calcule a DATA_HORA_PREV_DESCARGA estimada.

Exemplo:

DATA_HORA_CARGA: 23/02/2015 18:00

TEMPO_FRETE: 09:30

DATA_HORA_PREV_DESCARGA: 24/02/2015 03:30

Vi aqui n o fórum vários exemplos de como tratar com hora e data de forma isolada, mas não encontrei um exemplo que utilizasse campos do tipo DATETIME com incrementos simultâneos de data e hora.

Agradeço pela possível ajuda.

Edited by giursilva
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Eu mesmo me responder é muito estranho... Mas vamos lá. Depois de muito quebrar a cabeça, consegui fazer as operações para calcular data+hora. Em resumo, transformei tudo em timestamp utilizando strtotime. Tive uma pequena dificuldade com a hora, já que o PHP usa a data atual para "preencher" a falta da data no campo "time".

Consegui também, usando a função date transformar o timestamp resultante da soma da data + tempo em uma string de testo. Mas... aí travei de novo. Como retornar o resultado do timestamp para um campo data? Já tentei "n" formas, mas nada. O máximo que cheguei foi preencher o ano e o mês.

Exemplificando (todos os campos data estão no formato aaa/mm/dd hh:mm):

Data_carga: 2015/02/18 02:00:00

Tempo_Frete: 07:45:00

Data_chegada:

$timestamp_carga: 1.424.232.000

$timestamp_chegada: 1.424.258.100

Usando a função date("Y/m/d H:i:s",$timestamp_chegada) consigo colocar num campo texto: 2015/02/18 09:45:00. Mas, se tempo colocar o resultado num campo Data Hora, o resultado é "2015/02" e só...

Alguém teria uma ideia de como solucionar?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...