2
votes

date par défaut dans les entrées de formulaire comme premier et dernier jour du mois précédent

Je veux changer mes entrées et ajouter la date par défaut comme premier et dernier jour du mois précédent.

Par exemple - quand nous avons un jour de décembre, je veux avoir des entrées les 01.11 et 30.11 Mais quand on a un jour de février, je veux avoir des entrées date 01.02 et 28.02 (ou 29.02).

Mon code de formulaire en ce moment:

<form action="generate.php" method="post">
     First day: <input type="date" name="start_date" value="2018-12-01">
     Last day: <input type="date" name="end_date" value="2018-12-31">
     <button>Generate it!</button>
</form>

Avez-vous une idée? :)


1 commentaires

publier quelque chose que vous avez essayé ...


3 Réponses :


0
votes
<?php
    $minDate = date('01-m-Y');

    $currentDate = date('d-m-Y');
    $maxDate = date("Y-m-t", strtotime($currentDate));


    $calculatedDate = date('d-m-Y',strtotime(date("d-m-Y", strtotime(date("d-m-Y"))). " + 10 weekdays"));
?>
Hope this helps :)

2 commentaires

Salut! Je comprends que mes variables à saisir sont $ minDate et $ maxDate, oui? Si $ maxDate affiche le dernier jour de ce mois, ce $ minDate ne fonctionne pas. Mais peut-être parce que je suis novice dans la chaîne de dates. Je l'utilise comme value = "" - c'est sûr?


@Kacper j'ai fait un aperçu tehplayground.com/nVdH7y97jkNe6sIq



2
votes

si vous voulez le premier et le dernier jour du mois précédent, cela devrait fonctionner pour vous:

$curDate=date(Y-m-d);
$month=intval(date(m))-1;
$year=intval(date(Y));
if($month==00){ //case current month januar
    $startDate=($year-1)."-12-01";
    $endDate=($year-1)."-12-31";
}
else{   //differating by month
    $startDate=$year."-".$month."-01";
    if($month==1||$month==3||$month==5||$month==7||$month==8||$month==10)
        $endDate=$year."-".$month."-31";
    else if($month==2)
        $endDate=$year."-2-28";
    else
        $endDate=$year."-".$month."-30";
}


0 commentaires

1
votes

La réponse la plus simple à cette question à mon avis est ce code:

$startDate = new DateTime("first day of previous month");
$endDate = new DateTime("last day of previous month");


0 commentaires