我在这里很难过。
我有一个每周的日历。每个td都有一个月中指定日期的ID。
我想要做的是在日历td
中为每个特定日期显示这些菜单我知道我应该格式化menuDate以匹配td中的日期。我在我的雄辩查询中处理了这个问题。不包括在这里
这是我显示日历的代码
控制器:
date_default_timezone_set('Asia/Hong_Kong');
$year = (isset($_GET['year'])) ? $_GET['year'] : date("Y");
$week = (isset($_GET['week'])) ? $_GET['week'] : date('W');
if($week > 52) {
$year++;
$week = 1;
} elseif($week < 1) {
$year--;
$week = 52;
}
查看:
<table class = "table">
<tr>
@if($week < 10)
<?php
$week = '0'. $week;
?>
@endif
@for($day= 1; $day <= 7; $day++)
<?php
$d = strtotime($year ."W". $week . $day);
echo "<td = id '".date('y-m-d', $d)."'>"
.date('Md', $d) ."<br>". date('D', $d)
."</td>";
?>
@endfor
</tr>
</table>
有人可以帮我解决这个问题吗?非常感谢!
答案 0 :(得分:0)
当您使用Laravel时,您可以访问Carbon
,就像DateTime
一样,但需要大量帮助方法http://carbon.nesbot.com/docs/
此外,使用Laravel,您可以使用Request
(以及其他内容)从请求中获取参数。您还可以为这些提供默认值。 https://laravel.com/docs/5.3/requests#retrieving-input
无论哪种方式,你都可以这样做:
控制器方法
public function yourMethod (\Illuminate\Http\Request $request) {
$year = $request->input('year', date("Y"));
$week = $request->input('week', date('W'));
$date = \Carbon\Carbon::now('Asia/Hong_Kong')->setISODate($year, $week);
return view('test', compact('date'));
}
刀片文件
<table class = "table">
<tbody>
<tr>
@for($day= 1; $day <= 7; $day++)
<td id="{{ $date->format('Y-m-d') }}">
{{ $date->format('M d') }} <br>
{{ $date->format('D') }}
</td>
<?php $date->addDay() ?>
@endfor
</tr>
</tbody>
</table>
希望这有帮助!