Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Junior_f04

Função nativa similar ao between - Date

Recommended Posts

Ola, tenho uma duvida que me intriga a tempos.

 

Por acaso existe alguma função nativa do PHP, similar ao between do mysql ?

 

Algo como:

 

Funcao(DataInicial,DataFinal,DataemProcura) ... retornando True ou False ... caso a "DataemProcura" esteja entre a DataInicial e a DataFinal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta usar um if e o AND comparando...

$data = '2014-01-21';
if($data >= '2013-07-12' AND $data <= '2015-03-29){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw pela resposta ESerra, mas se pegar um período muito grande como por exemplo 60 meses ele vai demanda muito processamento nessa solicitação :/

 

Queria algo mais enxuto exatamente pra economiza :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas se pegar um período muito grande como por exemplo 60 meses ele vai demanda muito processamento nessa solicitação :/

É mesmo? Me passa o benchmark que você fez para comprovar a afirmação ou o link pro manual que fala disto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É mesmo? Me passa o benchmark que você fez para comprovar a afirmação ou o link pro manual que fala disto.

 

O grande Mestre.... segue o benchmark que pediu

 

So que não tenho com o que comparar... pq se ver a minha pergunta lá em cima ... é exatamente isso que estou pedindo como ajuda uma função Nativa... se tive me manda o link do manual ^^ ... Abraços

 

Version System time (s) User time (s) Memory (MiB) hhvm 0.093 0.156 85.27 hhvm-3.12.0 0.080 0.153 95.07 hhvm-3.11.0 0.073 0.167 86.55 hhvm-3.10.0 0.070 0.160 82.90 hhvm-3.9.1 0.097 0.143 82.32 hhvm-3.8.1 0.053 0.150 83.54 hhvm-3.6.1 0.187 0.163 81.25 7.0 0.022 0.051 20.35 7.0.4 0.020 0.053 20.43 7.0.3 0.023 0.047 20.26 7.0.2 0.023 0.050 20.19 7.0.1 0.023 0.057 20.43 7.0.0 0.023 0.050 20.42 5.6 0.039 0.059 20.13 5.6.19 0.027 0.050 20.47 5.6.18 0.017 0.060 20.55 5.6.17 0.017 0.057 20.85 5.6.16 0.030 0.073 20.55 5.6.15 0.020 0.053 20.52 5.6.14 0.017 0.063 20.34 5.6.13 0.013 0.063 20.50 5.6.12 0.020 0.073 20.43 5.6.11 0.020 0.057 20.46 5.6.10 0.050 0.060 20.52 5.6.9 0.060 0.060 20.32 5.6.8 0.050 0.060 19.86 5.6.7 0.047 0.060 19.73 5.6.6 0.050 0.057 19.48 5.6.5 0.050 0.057 19.85 5.6.4 0.073 0.050 19.53 5.6.3 0.053 0.057 19.70 5.6.2 0.063 0.063 19.66 5.6.1 0.050 0.060 19.48 5.6.0 0.060 0.047 19.78 5.5 0.048 0.056 19.72 5.5.33 0.027 0.043 20.46 5.5.32 0.007 0.063 20.50 5.5.31 0.013 0.057 20.19 5.5.30 0.020 0.057 19.97 5.5.29 0.020 0.057 20.27 5.5.28 0.013 0.060 20.23 5.5.27 0.067 0.043 20.25 5.5.26 0.050 0.063 20.13 5.5.25 0.073 0.070 20.03 5.5.24 0.057 0.053 19.30 5.5.23 0.060 0.047 19.70 5.5.22 0.043 0.063 19.65 5.5.21 0.060 0.057 19.31 5.5.20 0.070 0.053 19.67 5.5.19 0.073 0.050 19.65 5.5.18 0.050 0.060 19.29 5.5.16 0.050 0.053 19.27 5.5.15 0.047 0.063 19.53 5.5.14 0.043 0.063 19.66 5.5.13 0.050 0.060 19.48 5.5.12 0.060 0.047 19.55 5.5.11 0.050 0.057 19.31 5.5.10 0.063 0.047 19.46 5.5.9 0.063 0.067 19.55 5.5.8 0.050 0.057 19.54 5.5.7 0.053 0.057 19.47 5.5.6 0.050 0.057 19.36 5.5.5 0.073 0.037 19.42 5.5.4 0.047 0.063 19.61 5.5.3 0.067 0.050 19.32 5.5.2 0.053 0.053 19.36 5.5.1 0.050 0.060 19.46 5.5.0 0.047 0.067 19.53

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em nenhum momento tive a intenção de me colocar como superior a alguma coisa. Apenas fiquei surpreso com a sua afirmação de que um lapso de tempo maior vai implicar em mais processamento, imaginei que você tivesse achado alguma coisa que eu nunca achei ou que tivesse feito uma comparação.

 

Apenas vou deixar uma pergunta, você sabe como o PHP faz as comparações, ou seja, como INTERNAMENTE um if funciona? Pesquise e você verá que a sua afirmação contradiz o que a linguagem implementa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

So que não tenho com o que comparar...

 

 

Vamos ler a sua afirmação:

 

mas se pegar um período muito grande como por exemplo 60 meses ele vai demanda muito processamento nessa solicitação :/

 

 

 

A sua afirmação foi de que quanto maior o lapso de tempo maior será o consumo de processamento, logo, faça um if com um ano de diferença e com 5 anos, coloque isso em um ciclo (coloque dentro de um laço e repita mil vezes), faça isso algumas vezes e então você terá uma amostra válida para testar a teoria... é assim que a gente implementa o método empírico para testar a teoria.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O comparativo entre 2 meses ou 10 anos, não deve demandar mais processo por ser período maior. A expressão é booleana, simples e direta, é maior que e menor que... Se demandar mais processamento, seu código faz algo a mais que a comparação ou tem algo de errado.

 

Não existe função nativa, entretanto, a biblioteca Date/Time permite comparação com operadores.

 

Seu benchmark não está informando nada que possamos analisar. Na realidade, não entendi nada dele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.