none
Como usar between RRS feed

  • Pergunta

  • Ola pessoal....

    Estou precisando calcular um periodo de tempo como faço isso. No meu banco de dados tenho uma locação de veiculos e contem as datas de inicio e fim da locação. Agora preciso calcular o periodo que levou cada locação. Alguem pode me ajudar?

    quarta-feira, 17 de julho de 2013 14:56

Respostas

  • e ai galera deram alguns erros mas eu consegui assim....

    <?php

    // Define os valores a serem usados
    $data_inicial = '2009-03-23';
    $data_final = '2009-04-23';

    // Usa a função strtotime() e pega o timestamp das duas datas:
    $time_inicial = strtotime($data_inicial);
    $time_final = strtotime($data_final);

    // Calcula a diferença de segundos entre as duas datas:
    $diferenca = $time_final - $time_inicial; // 19522800 segundos

    // Calcula a diferença de dias
    $dias = (int)floor( $diferenca / (60 * 60 * 24)); // 225 dias

    // Exibe uma mensagem de resultado:
    echo "A diferença entre as datas ".$data_inicial." e ".$data_final." é de <strong>".$dias."</strong> dias";

    // A diferença entre as datas 23/03/2009 e 04/11/2009 é de 225 dias

    ?>

    quinta-feira, 18 de julho de 2013 10:45

Todas as Respostas

  • Se entendi direito, isso não tem muito a ver com LINQ. Você precisa é usar o método DateTime.Subtract() pra achar a diferença entre as duas datas.

    http://msdn.microsoft.com/en-us/library/8ysw4sby.aspx

    quarta-feira, 17 de julho de 2013 15:03
  • E como ficaria em php? Utilizando o banco de dados de linguagem sql?
    quarta-feira, 17 de julho de 2013 15:58
  • Emanuel,

    Pode tentar usando DiffDays

                      .select {
                                 Periodo = EntityFunctions.DiffDays(x.Campo1.Value,x.Campo2.Value),
                             }
    se ajudou marque como resposta :)


    Diego Almeida Barreto System Analyst / Software Developer

    quarta-feira, 17 de julho de 2013 16:22
  • Como eu uso? é que sou iniciante
    quarta-feira, 17 de julho de 2013 16:42
  • Posta seu código ai pra gente tentar fazer :)

    Diego Almeida Barreto System Analyst / Software Developer

    quarta-feira, 17 de julho de 2013 16:51
  • ter uma variável inicial e final que contenha valor que possa ser comparado dentro de um range.

    var inicio = Datetime, int,long, decimal e etc...

    var fim = Datetime, int,long, decimal e etc...

    where(valor => valor >= inicio && valor <= fim);

    select(valor => valor >= inicio && valor <= fim);

    //No caso de Data sem considerar a hora:segundo,milésimo

    where(valor => valor.Date >= inicio.Date && valor <= fim.Date);

    select(valor => valor.Date >= inicio.Date && valor.Date <= fim.Date);

    Espero ter ajudado.


    quarta-feira, 17 de julho de 2013 16:52
  • valeu galera deu certo
    quarta-feira, 17 de julho de 2013 17:38
  • e ai galera deram alguns erros mas eu consegui assim....

    <?php

    // Define os valores a serem usados
    $data_inicial = '2009-03-23';
    $data_final = '2009-04-23';

    // Usa a função strtotime() e pega o timestamp das duas datas:
    $time_inicial = strtotime($data_inicial);
    $time_final = strtotime($data_final);

    // Calcula a diferença de segundos entre as duas datas:
    $diferenca = $time_final - $time_inicial; // 19522800 segundos

    // Calcula a diferença de dias
    $dias = (int)floor( $diferenca / (60 * 60 * 24)); // 225 dias

    // Exibe uma mensagem de resultado:
    echo "A diferença entre as datas ".$data_inicial." e ".$data_final." é de <strong>".$dias."</strong> dias";

    // A diferença entre as datas 23/03/2009 e 04/11/2009 é de 225 dias

    ?>

    quinta-feira, 18 de julho de 2013 10:45