Calculo com data

(gilmonteiro) #1

Tenho dois campo “mesano_entrada” e “mesano_validade” como fazer quando informar o mês dois digito e ano com 4 digito no campo mesano_entrada ele já calcula-se um ano apos e preenche-se o campo mesano_validade.

Obrg

Gilmar monteiro

(waae) #2

que tipo de campo é??
vc teria que pegar só os ultimos 4 digitos e somar 1… vai depender do tipo do seu campo!

(gilmonteiro) #3

Vou ser mais claro.

Data_Validade = Data_Saida + 365 no formato : dd/mm/aaaa

ex : 27/07/2010 ficaria 27/07/2011

O campo na tabela e do form e data.

obrg

Gilmar Monteiro

(George Carvalho) #4

Use a macro sc_date

{data_validade} = sc_date ({data_saida}, “dd/mm/aaaa”, "+ ", 0, 0, 1);

Para certificar-se do formato da data, antes de utilizar a função, ponha em sua fórmula um comando:
echo "form_data = " . {nome do campo de data};

Rode a aplicação e veja o formato correto.

(gilmonteiro) #5

George;

Coloquei a linha de comando no evento ajax onchange quando informei a data de saida 27/07/2010 o resultado na caixa data_validade apareceu 201/0/8.

O que fazer?

Obrg,Obrg

Gilmar

(George Carvalho) #6

Gilmar,

É necessário saber o formato correto das datas.

Para certificar-se do formato da data, antes de utilizar a função, ponha em sua fórmula um comando:
echo "form_data = " . {nome do campo de data};

Rode a aplicação e veja o formato correto.

A macro:

sc_date (Data, formato, operador, D, M, A)

Esta macro tem por objetivo o cálculo do incremento ou decremento de datas. Para sua utilização são necessários alguns parâmetros, conforme a seguir:

data - Campo de data que contém a data a ser modificada
formato - Formatação em que o campo de data se encontra
operador - “+” para incremento e “-” para decremento
D - Número de dias a incrementar ou decrementar
M - Número de meses a incrementar ou decrementar
A - Número de anos a incrementar ou decrementar

Ex1:
{datanasc} = sc_date ({datanasc}, “dd/mm/aaaa”, "+ ", 30, 0, 0);

Ex2:
$nova_data = sc_date ({datanasc}, “aaaa-mm-dd”, “-”, 15, 3, 2);

Ex3:
{dt_inclusao} = sc_date (date(‘Ymd’), “aaaammdd”, “-”, 0, 1, 1);

Observação: As datas tem que estar no mesmo formato.

(gilmonteiro) #7

George;

Valeu!

Pela aula funcionou perfeitamente.

Obrg. Obrg.

Gilmar Monteiro
Olinda-PE
gilmonteiro@bol.com.br