2016-07-13 7 views
0

$ totalWeeks変数の数値として$ total変数の結果を配置しようとしています。 $ totalはフォームに別に追加した数値の合計です。私は数値の合計を得ることができますが、その合計を$ newDate変数に追加する方法はわかりません。PHP time:開始日に可変数を追加する

$total = 0.0; 
while(the_repeater_field('timeline_box')): 
    $total += get_sub_field('timeline_time'); 
endwhile; 
$oldDate = '2016-07-30'; 
$addedWeeks = $total; 
$newDate = date('Y-m-d', strtotime($oldDate. " + {$addedWeeks} weeks")); 
echo $newDate; 

助けてください。

+1

整数を使用すると、2.4週のようなものを追加できないと思われるかもしれません。 – RiggsFolly

+0

ありがとう@RiggsFolly。 $ addedWeeks変数に2.4週間を手動で追加すると、目的の結果が得られます。 – whildkatz

+0

奇妙なことに、 '2016-07-01'に' 2.4'週を追加しようとすると 'strtotime()'が失敗したことを意味する '1970-01-01'がいつも得られます!しかし、2週間を追加すると正しい回答が得られます – RiggsFolly

答えて

1

私が正しく理解しているかどうかわかりません...しかし、これはあなたが望むものを達成していますか?

$oldDate = new DateTime('2016-07-30'); 
$oldDate->modify("+{$addedWeeks} week"); 
echo $oldDate->format('Y-m-d'); 
+0

この提案をありがとう。私が整数を得るために丸めれば、私はあなたの提案を使って探している結果を得ることができます。最終コードは '$ total = 0.0; \t \t \t \t \t \t一方(the_repeater_field( 'timeline_box')): \t \t \t \t \t \t $合計+ = get_sub_field( 'timeline_time')。 \t \t \t \t \t \t endwhile; \t \t \t \t \t \t $週間= ceil($ total); \t \t \t \t \t \t $ addedWeeks = $週間; \t \t \t \t \t \t $ oldDate = new DateTime( '2016-07-30'); \t \t \t \t \t \t $ oldDate-> modify( "+ {$ addedWeeks} weeks"); \t \t \t \t echo $ oldDate-> format( 'Y-m-d'); ' – whildkatz

+0

なぜ浮動小数点数を使用していますか? xD –

+0

私は部分的な週を追加することができます。上記の点で丸めて私のために働く。しかし、私はそれを小数点として他の場所に表示する必要があります。 – whildkatz

関連する問題