Tempter 0 Denunciar post Postado Julho 18, 2005 Pessoal eu estava pensando numa função aqui para um script, mas não consegui sair da lógica.Como eu disse no título do tópico, é algo simples, mas não pra mim :) eu estava afim de fazer algo mais ou menos assim:1 - Quero mostrar sempre a data atual, a idade atual e quantos dias faltam para o próximo aniversário.2 - Isso tudo sem banco de daodos, só com calculos feitos na hora de rodar o script PHP na página pra gerar o HTML.3 - Não precisar mexer mais nos arquivos.Exemplo: eu faço aniversário em 27/02, nasci em 1983, logo tenho 22 anos, e faltam X dias para meu próximo aniversário.Eu queria colocar um ECHO com algumas variáveis que me mostrassem uma linha de texto com a seguinte formatação:Nome: CleberData de nascimento: 27/02/1983Idade: XX anosHoje, XX/XX/XX falatam XXX dias para meu próximo aniversário.São 3 campos que eu preciso que sejam dinâmicos, a da IDADE, o da data de HOJE e o de QUANTO DIAS FALTAM para o meu próximo aniversário.O da data é só puxar ela do servidor certo ? mas eu queria que isos fosse feito a partir da máquina do usuário, para está lá com a data e horário dele, pois quero passar a contagem certa para uma pessoa que entra no site aqui no Brasil e para uma epssoa que entra no site lá no japão.Dai com a data atual e a minha data de aniversário eu posso calcular quantos dias faltam para o meu próximo aniversário.Logo a seção ficaria dinâmica pois eu não precisaria mais alterar os dados, pois se eu entro hoje os dados estarão atualizados, se eu entro daqui 2 anos, os dados ainda continuarão atualizados.Alguem saberia como fica o script completo disso tudo ? pois eu tentei e tentei aqui, mas minha cabeça de iniciante não me deixou sair do lugar :) AbraçosCleber Compartilhar este post Link para o post Compartilhar em outros sites
Perfect Lion 10 Denunciar post Postado Julho 18, 2005 Tempter -> opa kra beleza.... Da uma olhadinha aqui.... nesse link data -> PHP.net veja o exemplo 3 e tente fazer os testes qualquer duvida posta ai.. http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Julho 19, 2005 opa, vou dar uma olhada agora memso e tentar fazer por aqui no serviço, valeu memsoqualquer coisa volto por aqui :) Obrigado cara Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Julho 19, 2005 Bom, acredito que estou indo no caminho certo... eu já calculo minha idade atual... PHP [*] [*]<? [*] [*]$ano_atual = date("Y"); [*]$ano_nascimento = 1983; [*]$idade = $ano_atual - $ano_nascimento; [*] [*]?> [*] [*]Minha idade atual é: <b><?= $idade ?></b> [*] levei um tempão só pra isso, pra fazer o resto to perdido ahuahua t+ Cleber Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Julho 19, 2005 mas essa sua idade é relativa e se você ainda não fez aniversario no ano ? procura no laboratorio de script la tem exemplos de calcular idade Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Julho 19, 2005 mas é, sei disso, e tb como quero dar mais detalhes ao script tenho que saber quando é ou não ano bissesto e est... nossa, to boiando muito hehet+to usando agora:<?function pegaIdade($diaNasc,$mesNasc,$anoNasc) {list ($dia,$mes,$ano) = explode("/",date("d/m/Y"));$idade = $ano-$anoNasc;$idade = (($mes<$mesNasc) OR (($mes==$mesNasc) AND ($dia<$diaNasc))) ? --$idade : $idade;return $idade;}echo pegaIdade(27,02,1983);?> Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Julho 19, 2005 Consegui o calculo da idade: PHP [*]<? [*] [*]function pegaIdade($diaNasc,$mesNasc,$anoNasc) { [*]list ($dia,$mes,$ano) = explode("/",date("d/m/Y")); [*]$idade = $ano-$anoNasc; [*]$idade = (($mes<$mesNasc) OR (($mes==$mesNasc) AND ($dia<$diaNasc))) ? --$idade : $idade; [*]return $idade; [*]} [*]echo ("A minha idade é "); [*]echo pegaIdade(12,07,1974); [*]echo (" anos."); [*] [*]?> [*] Mas agora eu queria colocar alkgo que mostrasse: Faltam XXX dias para seu próximo aniversário. Como eu poderia fazer ? Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Julho 19, 2005 Eu consigo os dias que faltam entre duas datas PHP [*] [*]<? [*]//mm/dd/aaaa [*]$datainicio=strtotime("12/07/2005"); // Data de Hoje [*]$datafim =strtotime("12/07/2006"); // Data no próximo ano [*] [*]$intervalo=($datafim-$datainicio)/86400; //transformação do timestamp em dias [*] [*]echo $intervalo; [*] [*]?> [*] Mas o que eu quero é não atualizar mais as duas datas, ou seja, gostaria de manter assim: PHP [*] [*]$datainicio = 12/07/XXXX // DATA COM O ANO ATUAL [*]$datafim = 12/07/(XXXX)+1 // DATA COM O ANO ATUAL MAIS 1 [*] COMO EU FAÇO ? Compartilhar este post Link para o post Compartilhar em outros sites
Perfect Lion 10 Denunciar post Postado Julho 19, 2005 tenta fazer isso$datafim = 12/07/ (XXXX +1)tenta ai Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Julho 19, 2005 Tempter evite postar varias vezes seguidas, use o botao editar Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Julho 19, 2005 Eu fiz isso: PHP [*]<? [*] [*]$data_atual = date("d/m/Y"); [*]$data_depois = date("d/m/Y"); [*] [*]$datainicio=strtotime("$data_atual"); // Data de Hoje [*]$datafim =strtotime("$data_depois"); // Data no próximo ano [*] [*]$intervalo=($datafim-$datainicio)/86400; //transformação do timestamp em dias [*] [*]echo $intervalo; [*] [*]?> ele está comparando a data de HOJE com a data de HOJE, como eu faço para ele comprara com a data do ANO que vem, somar mais um ano ? Eu fiz assim tb: PHP [*]<? [*] [*]$data_atual = date("d/m/Y"); [*] [*]$ano_depois = date("Y")+1; [*] [*]$datainicio=strtotime("$data_atual"); // Data de Hoje [*]$datafim =strtotime("12/07/$ano_depois"); // Data no próximo ano [*] [*]$intervalo=($datafim-$datainicio)/86400; //transformação do timestamp em dias [*] [*]echo $intervalo; [*] [*]?> Mas retorna um valor assim: 152.95833333333 O que eu devo fazer? abraços OBS: Fabyo, se eu usar o EDITAR a pessoa que está me euxiliando recebe notificação de post meu ? pois se não, não seria interessante pra mim, desculpe a quantidade de posts, mas não são atoa, sério, estou tentando aprender e pra isso usando o fórum :0 Abraços cara e valeu pela ajuda, sério mesmo, desculpe Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Julho 20, 2005 Problema resolvido. Com o script: PHP [*]<? [*] [*]$data_atual = date("Y/m/d"); [*] [*]$ano_depois = date("Y")+1; [*] [*]$datainicio=strtotime("$data_atual"); // Data de Hoje [*]$datafim =strtotime("$ano_depois/07/12"); // Data no próximo ano [*] [*]$intervalo=($datafim-$datainicio)/86400; //transformação do timestamp em dias [*] [*]echo $intervalo; [*] [*]?> O problema estava acontecendo pq eu estava colocando a data com DD/MM/AAAA, dai o calculo dava errado, mas agora que coloquei como AAAA/MM/DD o calculo dá certo. Pra mim está ótimo, posso usar assim mas alguem saberia deixar o script de forma que eu possa colocar a data no padrão Brasileiro e funcionar tb ? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Julho 20, 2005 strtotime le uma data valida em ingles ele nao vai ler em portugues mas o resultado você pode converter pra portugues, olha no laboratorio de script postei la um exemplo de conversao de data Compartilhar este post Link para o post Compartilhar em outros sites