2016-10-17 22 views
0

私はそのユーザーに投稿の有効期限を選択させたいと思っています。例えば、create postの形式で入力選択オプションを挿入します:24h、48h、72h。Laravel 5.2 - 私の投稿の有効期限を計算する

私の質問には、期限切れの日付をデータベースに保存する必要があります。どのように計算できますか?

私はこのような創造のポストの時間を得ることができることを知っている:

VIEWを - MYフォームは私が望むこの

<select name="expire_date"> 
<option value="24">24h</option> 
<option value="48">48h</option> 
<option value="72">72h</option> 
</select> 

MY CONTROLLER

// get the current time 
    $current = Carbon::now(); 
    $current = new Carbon(); 
    // maybe so ?? 
    $expire_date = $current + $request->input('expire_date') 

のような入力を持っています有効期限のポストの値を持つ変数を作成する、私は私のインデックスリストに表示することができますこのデータを格納する必要があります。

ご協力いただきありがとうございます。

答えて

1

あなたのコントローラ上のそのような何かを行うことができます。 はあなたのリクエスト変数に入力::すべてを()持っていると仮定します。

$expire_date = Carbon::now()->addHours($request->expire_date); 

あなたはcarbon doc

+1

はい、それは働きます!すべてをありがとう! –

+0

よろしくお願いいたします。喜んで助けてくれました! –

1

このような計算を実行できるstrtotimeを使用できます。

$expire_date = strtotime('+ '.$request->input('expire_date').' hours'); 

別のアプローチは、「手動」秒を追加することです:

$expire_date = time() + $request->input('expire_date') * 3600; 
1

上で見ることができるようにPHPのDateTimeクラスは、この

//example input parameter 
$param = '24h'; 
// fix param, to upper case i.e. 24H 
$param = strtoupper($param); 

$date = new DateTime(); 
echo $date->format('Y-m-d H:i:s').PHP_EOL; 
$date->add(new DateInterval("PT$param")); 
echo $date->format('Y-m-d H:i:s'); 

結果のように、非常に喜んでそれを行います。

2016-10-17 19:58:56 
2016-10-18 19:58:56 
関連する問題