Jump to content


Photo

Compração De Datas


  • Faça o login para participar
9 replies to this topic

#1 Gabriel

Gabriel

    CGI & PHP até Morre!!!!

  • Usuários
  • 573 posts
  • Sexo:Não informado
  • Localidade:Santo Andre-SP
  • Interesses:http://www.divulgue-me.com

Posted 25/05/2005, 12:41

alguem sabe como fazer um certo script fazer um função até determinada data
exemplo
$hoje="25/05/2005";
$data="10/10/2005";

sub aa{
print "a";
}

um code que execuite a função &a; e $hoje < $data

ouseja, rodar o code até o dia determinado na var $data


vlw
Editado pela equipe Forum Wmo, favor ler as regras.

#2 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 26/05/2005, 07:53

if ($dia >= $diainicio and $mes >= $mesinicio and $dia <= $diafinal and $mes <= $mesfinal) { faz isso } else { nao faz nada }

also assim ?

Edição feita por: prix, 26/05/2005, 07:56.

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#3 ScriptsNan

ScriptsNan

    Turista

  • Usuários
  • 45 posts
  • Sexo:Não informado
  • Localidade:Brasilia DF

Posted 26/05/2005, 19:23

if ($dia >= $diainicio and $mes >= $mesinicio and $dia <= $diafinal and $mes <= $mesfinal) { faz isso } else { nao faz nada }

also assim ?

separe as datas assim

ANOMESDIA!
Por exemplo
$hoje="26/05/2005";

dai ficaria
$hoje="20050526";
dai voce mandaria um if para verificar a data de hoje a data que quer.
por exemplo

$data = "20050501"; # 01/05/2005
$hoje = "20050526"; # 26/05/2005

if ($hoje > $data) {
print "Ja passou";
}

#4 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 26/05/2005, 23:44

Solução mais correta (penso eu):

passe suas datas para o timestamp (vai gerar um número semelhante ao gerado pela função time), depois é só comparar.

Também pode usar módulos brasileiros chamado DateTime (datetime.perl.org) que são próprios para isso.

flw
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#5 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 27/05/2005, 13:39

pra falar verdade a mais simples foi a do nan porem a minha tem certa personificações q podem ser feitas.

a do nan seria mais pratica pois nao teria necessidade de modulo eh so pegar dos dados e colocar naquele formato.

(o bom é sempre tentar fazer sem precisar de dependecias de modulos. pois nunca sabemos quando precisaremos de algo stand alone q podemos jogar no diretorio ou algo direto do perl que nao pode ser instalado)

Edição feita por: prix, 27/05/2005, 13:40.

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#6 Gabriel

Gabriel

    CGI & PHP até Morre!!!!

  • Usuários
  • 573 posts
  • Sexo:Não informado
  • Localidade:Santo Andre-SP
  • Interesses:http://www.divulgue-me.com

Posted 27/05/2005, 15:48

eu tentei fazer do seu jeito prix
so que nao quiz funfa rsrsrs

ai tentei ir separando ex:
if($mes1<=$mes){
Editado pela equipe Forum Wmo, favor ler as regras.

#7 Gabriel

Gabriel

    CGI & PHP até Morre!!!!

  • Usuários
  • 573 posts
  • Sexo:Não informado
  • Localidade:Santo Andre-SP
  • Interesses:http://www.divulgue-me.com

Posted 27/05/2005, 15:49

eu tentei fazer do seu jeito prix
so que nao quiz funfa rsrsrs

ai tentei ir separando ex:
if($ano>=$mes1){
if($ms1<=$mes){
if($dia1<=$dia){ print "oi"; }
}
}

mais tbm nao da

mais esse do renan eu nao sabia mto bem]
vo usaer esse, é bem pratico ;-)
vlwwwwwww e flw's
Editado pela equipe Forum Wmo, favor ler as regras.

#8 Hospedar-se .Com

Hospedar-se .Com

    Super Veterano

  • Usuários
  • 1500 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 27/05/2005, 18:52

melhor ainda coloque assim:

meses com no mínimo 2 caracteres, por exemplo 01 (janeiro), 02 (fevereiro)

A mesma coisa para os dias, 01, 05, 08 ...

o ano pode ter os 4 caracteres mesmo

Eu utilizo nesse formato:

MMDDAAAA
05272005 (27/05/2005)

Jeito americano, olhando desse jeito, nunca vai ser maior ou menor um determinado dia se for comparar com outro

agora se for:
AAAAMMDD
AAAADDMM
DDMMAAAA
DDAAAAMM
vai dar erro na hora que você fizer comparações entre eles

Edição feita por: Hospedar-se .Com, 27/05/2005, 18:56.


#9 Gabriel

Gabriel

    CGI & PHP até Morre!!!!

  • Usuários
  • 573 posts
  • Sexo:Não informado
  • Localidade:Santo Andre-SP
  • Interesses:http://www.divulgue-me.com

Posted 28/05/2005, 10:07

é faciç
dia atual - dia final
vai sair um resultado
se for maaopr ou igual a 0, nao faz nada
se for negativo, faz a ação

simples ;-)

flw
Editado pela equipe Forum Wmo, favor ler as regras.

#10 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 28/05/2005, 16:43

pensei furadamente na logica ehhe

tipo vc tem q colocar inicialmente a margem.

ex: anomesdia

pois assim ele tem como fazer a comparação

se vc coloca dia mes separados eles nao tem como verificar pois um dia sempre sera menor de um lado e maior do outro o que provocaria um chock.

$diamesinicio = "0601";
$diamesfinal = "0602";

($seg,$min,$hora,$diam,$mes,$ano,$sdia,$diano,$isdst) = localtime(time);
@nummeses = ("01","02","03","04","05","06","07","08","09","10","11","12");
$ano += 1900;
$data = "@nummeses[$mes]$diam";
print "Content-Type: text/html\n\n";
if (($data >= $diamesinicio) && ($data <= $diamesfinal)) {
print "funciona bem quando vc esta dentro do mes.\n\n";
} else {
print "O mes/dia de funcionamento ja passou.\n\n";
}


ou

$diamesinicio = "20050601";

$diamesfinal = "20050602";

($seg,$min,$hora,$diam,$mes,$ano,$sdia,$diano,$isdst) = localtime(time);
@nummeses = ("01","02","03","04","05","06","07","08","09","10","11","12");
$ano += 1900;
$data = "$ano@nummeses[$mes]$diam";
print "Content-Type: text/html\n\n";
if (($data >= $diamesinicio) && ($data <= $diamesfinal)) {
print "funciona bem quando vc esta dentro do mes.\n\n";
} else {
print "O mes/dia de funcionamento ja passou.\n\n";
}


Edição feita por: prix, 28/05/2005, 16:44.

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq