Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
halera preciso converter este algoritmo para javascript. alguém pode me ajudar?
<?php
if (empty($calc_data)) {
echo "depois.setDate(depois.getDate() + 0);";
} else {
$v = explode("/", $calc_data);
$cont = count($v);
$dia_calc = $v[1];
echo "depois.setDate(depois.getDate() + $dia_calc);";
}
?>Ok ja estou quase lá. Mas me deparei com um bug. o código esta assim:
<script type="text/javascript">
var string = "1/2/3/4";
var retorno = string.split("/");
var data = new Date();
data.setDate(data.getDate() + retorno[0]);
var dia = data.getDate();
var mes = data.getMonth() + 1;
// Adiciona o 0 se o número for apenas 1 digito
if (mes.toString().length === 1) {
mes = "0" + mes;
}
if (dia.toString().length === 1) {
dia = "0" + dia;
}
// Monta a data
var minhaData = dia + '/' + mes + '/' + data.getFullYear();
alert(minhaData);
</script>
O bug ocorre nesta linha:
data.setDate(data.getDate() + retorno[0]);
Se eu colocar 1 no lugar de retorno[0], o javascript calcula 1 dia a partir da data atual. Correto, porem se eu coloco o retorno[0] ele gera uma data muito louca hahahah.
Falta apenas isso para funcionar. Tem alguma ideia do que pode estar errado?
Já que seu problema é JavaScript, é um bug, vou lhe mandar para o fórum correto.
ok, como eu estava falando de 2 linguagem, fiquei meio na dúvida de onde postar hahahaha. Vc tem alguma ideia de qual pode ser o bug?
Beleza. Você tem que debugar, veja o que está recebendo no array retorno[]... o que aparece no console ?
nao apresenta erro algum, e o retorno[] recebe o valor de 1. estranho d+
Achei o problema, tinha que converter o retorno, pois era uma string.
var dia_calc = parseInt(retorno[1]);
Correto...
O que você já realizou? A conversão em si é fácil, mas preciso saber até que ponto você chegou.