Javascript 如何将startdate和EndDate中的周填充到下拉列表中?

Javascript 如何将startdate和EndDate中的周填充到下拉列表中?,javascript,php,jquery,html,drop-down-menu,Javascript,Php,Jquery,Html,Drop Down Menu,如何将startdate和EndDate中的周填充到下拉列表中? 假设我想在这个月内得到所有的周数。但是,如何将它们填充为下拉列表中的周数 到目前为止,我已经尝试过: <?php $start = "2016-03-01"; $end = "2016-03-31"; $first_day = $start.' first Sunday of this month'; $first_day = date_create($first_day); $first_day = $first_

如何将startdate和EndDate中的周填充到下拉列表中? 假设我想在这个月内得到所有的周数。但是,如何将它们填充为下拉列表中的周数

到目前为止,我已经尝试过:

<?php
$start = "2016-03-01";
$end = "2016-03-31";    
$first_day = $start.' first Sunday of this month';
$first_day = date_create($first_day);
$first_day = $first_day->format('Y-m-d');
$last_day = $start.' last Saturday of this month';
$last_day = date_create($last_day);
$last_day = $last_day->format('Y-m-d');

if($start != $first_day) {
$date_str = $start.' last Sunday of last month';
$start_date = date_create($date_str);
$start_date = $start_date->format('Y-m-d');
}
else {
$start_date = $start;    
}

if($end != $last_day) {
$date_str = $end.' first Saturday of next month';
$end_date = date_create($date_str);
$end_date= $end_date->format('Y-m-d');
}
else {
$end_date = $end;    
}
?>

//result
//start_date = "2016-02-28";
//end_date= "2016-04-02";

//结果
//开始日期=“2016-02-28”;
//结束日期=“2016-04-02”;
上面的代码将为我提供一个月内一整套周的开始日期和结束日期,其中周日为一周的第一天,周六为一周的最后一天。然后,我想根据开始日期和结束日期将周填充到下拉列表中。怎么做

我想将以下值输出到下拉列表中:

<select>
<option value="2016-02-28 to 2016-03-05">Week 1</option>
<option value="2016-03-06 to 2016-03-15">Week 2</option>
<option value="2016-03-13 to 2016-03-19">Week 3</option>
<option value="2016-03-20 to 2016-03-26">Week 4</option>
<option value="2016-03-27 to 2016-04-02">Week 5</option>
</select>

第一周
第2周
第3周
第4周
第5周
请建议如何使用jQuery或PHP将上述输出填充到下拉列表中。

尝试以下方法:

<select>
<?php 
   $start_month = "2016-03-01";
   $end_month   = "2016-03-31";  
   while (strtotime($start_month) <= strtotime($end_month)) {
      $week_start  =  date('Y-m-d',strtotime($start_month.' last Sunday'));
      $week_end    =  date('Y-m-d',strtotime($start_month.' Saturday this week'));
?>

<option value='<?php echo $week_start." to ".$week_end; ?>' >
    <?php echo $week_start." to ".$week_end; ?>
</option>       

<?php   $start_month = date("Y-m-d", strtotime($start_month." +7 days"));

} ?>
</select>


希望这有帮助。

您必须在服务器上执行吗?这是什么意思?我只需要在本地服务器上完成,并且只填充从给定开始日期到结束日期的周数。尝试从开始到结束循环,每个循环增加7天。我的意思是,如果您愿意,您可以不使用
php
而只使用
javascript
。是的。我接受任何这样做的方法。只要它能根据给定的值填充正确的内容。万岁!这正是我需要的!谢谢你,朋友。