Ir para conteúdo
Entre para seguir isso  
hwrry

Primeiro e Ultimo Dia da Semana.

Recommended Posts

Bom dia! Estou precisando retornar os dias referentes a segunda-feira e sexta-feira de cada semana do ano, o que tenho é um array composto pelas semanas concatenadas com os anos referentes, por exemplo:

[51-2014

52-2014

01-2015

02-2015...]

 

Pegando a primeira semana do exemplo o resultado seria :

51-2014 -> Segunda = 22/12/2014 - Sexta = 26/12/2014.

 

Qualquer duvida estou a disposição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas o numero ? se sim just try:

$Week = date('w'); /* Semana atual... */
$FirstDay = date('d', strtotime('-'.$Week.' days'));
$LastDay = date('d', strtotime('+'.(6-$Week).' days'));

var_dump($Week);
var_dump($FirstDay);
var_dump($LastDay);

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso preciso que retorne o dia/mês por exemplo: 22/12.

E também teria que levar em consideração o ano a que essa semana pertence. O seu exemplo está correto, mas funciona apenas para a data atual, creio eu. Caso eu tivesse as datas completas funcionaria também, mas a informação que tenho é apenas a semana-ano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hwrry, não duplique seus tópicos... você postou 3x a mesma coisa...

<?php
echo date('Y-m-d', strtotime('sunday last week', strtotime('2015-10-15')));//Primeiro dia da semana último domingo
echo '<br />'.date('Y-m-d', strtotime('saturday this week', strtotime('2015-10-15')));//Último dia da semana próximo sábado
?>

Trabalhando com a questão das semanas:

$semana = 51;
$ano = 2014;
for($dia=0; $dia<7; $dia++)
{
echo date('Y-m-d', strtotime($ano.'W'.$semana.$dia)).'<br />';
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

  • Conteúdo Similar

    • Por asacap1000
      Galera preciso de uma ajuda, não sei mais nem como procurar a cabeça está dando nó kkkk.
      Tenho projeto que estará controlando o tempo de acesso no estabelecimento impondo um limite de 100 minutos.
      Dentro do mesmo dia estou conseguindo realizar os calculos normais, porém se o usuário entrar 23:00 ele terá que sair no máximo às 00:40.
      O horário eu consegui montar conforme o select abaixo a data mantém a mesma da entrada.
      select aces.seqreg SEQUENCIA, aces.diracc SENTIDO, aces.horacc MINUTOS, --acesso em minutos (aces.horacc + 100) LIMITE, --limite de acesso foi adicionado mais 100 minutos CONVERT(varchar(2), Day(aces.datacc)) + '/' + CONVERT(varchar(2), MONTH(aces.datacc)) + '/' + CONVERT(varchar(4), Year(aces.datacc)) + ' ' + right( '00' + cast(aces.horacc / 60 as varchar), 2) + ':' + right( '00' + cast(aces.horacc - ((aces.horacc / 60) * 60) as varchar), 2 ) AS HORA,--data e hora de entrada CONVERT(varchar(2), Day(aces.datacc)) + '/' + CONVERT(varchar(2), MONTH(aces.datacc)) + '/' + CONVERT(varchar(4), Year(aces.datacc)) + ' ' + right( '00' + cast( ((aces.horacc + 100)%1440)/60 as varchar), 2) + ':' + right( '00' + cast(((aces.horacc + 100)%1440)%60 as varchar), 2 ) 'SAIDA', --data e hora que deve sair Convert(Char(5),GetDate(),114) ATUAL from kansas.kansas.r070ara aces LEFT JOIN kansas.kansas.r090mvi mv on aces.numcra = mv.numcra and aces.numdoc = mv.numdoc where CONVERT(DATETIME, CONVERT(NVARCHAR(10), aces.datacc, 103), 103) >= CONVERT(DATETIME, '29/09/2018', 103) and CONVERT(DATETIME, CONVERT(VARCHAR(10), aces.datacc, 103), 103) <= CONVERT(DATETIME, '29/09/2018', 103) and (aces.coddsp like '1') and aces.numdoc = '325605397' order by aces.seqreg, aces.nompes, aces.coddsp O problema está nesta parte do select:
       
      CONVERT(varchar(2), Day(aces.datacc)) + '/' + CONVERT(varchar(2), MONTH(aces.datacc)) + '/' + CONVERT(varchar(4), Year(aces.datacc)) + ' ' + right( '00' + cast( ((aces.horacc + 100)%1440)/60 as varchar), 2) + ':' + right( '00' + cast(((aces.horacc + 100)%1440)%60 as varchar), 2 ) 'SAIDA', --data e hora que deve sair A parte de data ele não traz a data seguinte na imagem abaixo a saída deveria ser 30/09/2018 01:27
       

       
      Alguém poderia me dar uma força tenho que entregar essa semana este projeto no trabalho e está muito punk a bagaça...
       
    • Por maicon_m
      Olá,
       
      Apesar de pesquisar e tentar de diversas formas, não estou conseguindo. A situação é a seguinte:
       
      O hotel tem uma tabela com valores variáveis para as acomodações dependendo dos dias. 
       
      TABELA VALORES
      preço      data_inicio    data_fim
      150.00   2018-04-20    2018-04-23
      250.00   2018-04-24    2018-04-27
       
      Quando o usuário escolhe check-in e check-out dentro dos valores de uma linha, consigo retornar com o BETWEEN. Porém, se o usuário escolher data de entrada (23) e data de saída (24), preciso retornar apenas o valor de 150,00 que foi o dia do check-in. Mas não estou conseguindo pois a consulta retorna o valor com base do dia do check-out (250,00).
       
      Penso que a solução deste problema irá me ajudar a solucionar outro: quando o cliente escolhe alguns dias que se encaixam dentro de uma tarifa e outros dias em que a tarifa é diferente...
       
      Desde já, obrigado.
    • Por klonder
      Tentei incluir a máscara a seguir em um POST meu antigo, porém está fechado para novas respostas:
       
      Todavia, para futuras consultas minhas e também para ajudar outras pessoas, venho deixar uma máscara interessante que acabei de terminar em JavaScript.
      Ficou muito menor que a do POST acima:
      <script type="text/javascript"> var iCount1; var trava = false; function MaskDown(e) { if (trava == false) { iCount1 = e.value.length; trava = true; } } function MaskUp(e,mascara) { if (trava) { var textoLimpo = e.value.substr(0,iCount1+1).replace(/[\/\:\-\.]/g,""); var texto = ""; var iM = 0; var iT = 0; while (iM < mascara.length) { if (iT < textoLimpo.length) { if (mascara.substr(iM,1) == "#") { texto += textoLimpo.substr(iT,1); iT++; } else { texto += mascara.substr(iM,1); } } iM++; } e.value = texto; trava = false; } } </script> Para funcionar, basta incluir em suas tags input os eventos, como demonstrado a seguir:
      <input type="text" id="tfData" onkeydown="MaskDown(this)" onkeyup="MaskUp(this,'##/##/####')" placeholder="dd/mm/aaaa" style="width:80px" /> <br /><input type="text" id="tfHora" onkeydown="MaskDown(this)" onkeyup="MaskUp(this,'##:##')" placeholder="hh:mm" style="width:50px"/> À medida que o usuário vai digitando, o valor campo vai sendo formatado. Pode ser usado para CPF, CEP, RG, dentre outros...
       
      Divirtam-se!
    • Por Gcm Guilherme
      Olá pessoal, gostaria de pesquisar "equipe" entre duas datas, vou colar o código, alguém poderia me dizer onde está errado, sou novo no php e estou quase pirando.
       
      aqui é o código php:
      <?php if(isset($_POST['ok'])){          $select = mysql_escape_string($_POST['equipe']);     $data1 = mysql_escape_string($_POST['data_inicio']);     $data2 = mysql_escape_string($_POST['data_final']);          mysql_select_db($database_conexao, $conexao);     $query_busca = "SELECT * FROM solicitacao WHERE equipe = '$select' AND data_cadastro BETWEEN '$data1' AND 'data2'";     $busca = mysql_query($query_busca, $conexao) or die(mysql_error());     $row_busca = mysql_fetch_assoc($busca);     $totalRows_busca = mysql_num_rows($busca);      }else{          mysql_select_db($database_conexao, $conexao);     $query_busca = "SELECT * FROM solicitacao ORDER BY data_cadastro DESC";     $busca = mysql_query($query_busca, $conexao) or die(mysql_error());     $row_busca = mysql_fetch_assoc($busca);     $totalRows_busca = mysql_num_rows($busca);      } ?> Aqui vai o form html:
      <form method="post" id="form"> <div class="col-sm-2"> <select id="equipe" name"equipe" class="form-control"> <option>Escolha a equipe</option> <option>ALFA</option> <option>BRAVO</option> <option>DELTA</option> <option>CHARLIE</option> <option>ECHO</option> </select><br> </div> <div class="col-sm-2"> <input type="text" name="data_inicio" id="data_inicio" value="" class="form-control" placeholder="" onkeyup="maiuscula(this)" required><br> </div> <div class="col-sm-2"> <input type="text" name="data_final" id="data_final" value="" class="form-control" placeholder="" onkeyup="maiuscula(this)" required><br> </div> <div class="col-sm-1"> <button type="submit" class="btn btn-primary" name="ok">Buscar</button><br> </div> <div class="col-sm-1"> <a href="solicitacoes_relatorio.php">Limpar busca</a><br> </div> </form> </div> <div class="table-responsive"> <table class="table table-bordered table-condensed"> <thead> <tr class="info"> <th>EQUIPE</th> <th>DATA</th> <th>HORA</th> <th>NATUREZA</th> <th>LOGRADOURO</th> <th>Nº</th> <th>SETOR</th> <th>TO</th> <th>BO</th> </tr> </thead> <tbody> <?php do{ ?> <tr> <td><?php echo $row_busca['equipe']; ?></td> <td><?php echo $row_busca['data_cadastro']; ?></td> <td><?php echo $row_busca['hora_cadastro']; ?></td> <td><?php echo $row_busca['natureza']; ?></td> <td><?php echo $row_busca['logradouro_fato']; ?></td> <td><?php echo $row_busca['numero_fato']; ?></td> <td><?php echo $row_busca['setor_gm']; ?></td> <td><?php echo $row_busca['togm']; ?></td> <td><?php echo $row_busca['bogm']; ?></td> </tr> <?php } while($row_busca = mysql_fetch_assoc($busca)); ?> </tbody> </table> SOCOROO, RSSSSS
    • Por Alcaponepone
      Boa tarde
       
       estou fazendo um trabalho de TCC preciso saber a o tempo total que uma lampada ficou ligada usando a tabela de dados Mysql que criei que grava a hora que foi acionada e des-acionada.
      para saber o horário que a lampada ficou ligada preciso da diferença de Datatime. Estou retornando as datas liga e desligada em array() mais não consigo calcular pois acho que array esta gravando os dados como string;
       
       
      sugestões são bem aceitas,
       
       
      Obrigado
       
      $sql = "SELECT lamp_id, lamp_data, lamp_estado FROM lampadas_rel where lamp_estado=0 ORDER BY lamp_sec"; $result = $conn->query($sql); if ($result->num_rows > 0) { $i=0; while($row = $result->fetch_assoc()){ $desli[]= Date('d/m/Y H:i:s', strtotime($row["lamp_data"])); } print_r($desli); } echo "<br>"; $sql = "SELECT lamp_id, lamp_data, lamp_estado FROM lampadas_rel where lamp_estado=1 ORDER BY lamp_sec"; $result = $conn->query($sql); if ($result->num_rows > 0) { $i=0; while($row = $result->fetch_assoc()){ $liga[]= Date('d/m/Y H:i:s', strtotime($row["lamp_data"])); } print_r($liga); } $dtar = $liga - $desli;  
×

Informação importante

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