表单输入中的默认日期为上个月的第一天和最后一天

时间:2019-01-04 13:31:05

标签: php html forms input

我想更改输入并将默认日期添加为上个月的第一天和最后一天。

例如-当我们有十二月的某天时,我想输入日期01.11和30.11。但是当我们有二月的某天时,我想输入日期01.02和28.02(或29.02)。

我目前的表单代码:

<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>

你有什么主意吗? :)

3 个答案:

答案 0 :(得分:2)

如果您想要上个月的第一天和最后一天,那么这应该对您有用:

$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";
}

答案 1 :(得分:1)

在我看来,最简单的答案是以下代码:

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

答案 2 :(得分:0)

<?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"));
?>

希望这会有所帮助:)