私はLaravel 4を使用して、facebookでレストランメニューを公開/スケジュールするためのツールを使用しています。これには、今週の日付セレクタが必要で、常に月曜日に始まり、常に日曜日に終わります。
私は例をいじってみました http://carbon.nesbot.com/docs/#api-getters が、成功しませんでした。
何か案が?
これは、Carbon Libraryを使用すると非常に簡単です。次にコード例を示します。
$now = Carbon::now();
$weekStartDate = $now->startOfWeek()->format('Y-m-d H:i');
$weekEndDate = $now->endOfWeek()->format('Y-m-d H:i');
週の開始日と終了日を変更するオプションもあります。こんな感じです
$start = $now->startOfWeek(Carbon::TUESDAY);
$end = $now->endOfWeek(Carbon::MONDAY);
最良の方法はjqueryプラグインを使用することです
あなたのview.blade.phpに入力フィールドを作ります
<input type="text" id="in">
スクリプトファイルでこの入力を選択し、日付範囲を設定します
<script>
$("#in").datepicker({
minDate: new Date("{{Carbon\Carbon::now()->startOfWeek()->format('Y/m/d')}}"),
maxDate: new Date("{{Carbon\Carbon::now()->endOfWeek()->format('Y/m/d')}}")
});
</script>
これは次のようになります
これにより、週の始まり(月曜日)から週の終わり(日曜日)までが得られます。
これがサーバーの設定かどうかはわかりません。 (最初の週を日曜日にする人もいます)
private $start;
private $end;
public function setWeekPeriod($weeknumber)
{
$week_start = (new DateTime())->setISODate(date("Y"),$weeknumber)->format("Y-m-d H:i:s");
$this->start = Carbon::createFromFormat("Y-m-d H:i:s", $week_start);
$this->start->hour(0)->minute(0)->second(0);
$this->end = $this->start->copy()->endOfWeek();
}