Saya memiliki variabel bernama $effectiveDate
berisi tanggal 2012-03-26 .
Saya mencoba menambahkan tiga bulan ke tanggal ini dan tidak berhasil melakukannya.
Inilah yang saya coba:
$effectiveDate = strtotime("+3 months", strtotime($effectiveDate));
dan
$effectiveDate = strtotime(date("Y-m-d", strtotime($effectiveDate)) . "+3 months");
Apa yang saya lakukan salah? Tidak ada satupun kode yang berfungsi.
1340649000
sebagai jawaban, yang sepertinya benar.$effectiveDate
menyimpan apa yang menurut Anda disimpan? Ini bekerja untuk saya .date('Y-m-d', 1340661600)
memberikan2012-06-26
mana yang benar.Jawaban:
Ubah menjadi ini akan memberi Anda format yang diharapkan:
$effectiveDate = date('Y-m-d', strtotime("+3 months", strtotime($effectiveDate)));
sumber
"+ '$months' months"
tidak bekerja$offset = 5; echo date('Y-m-d', strtotime("+$offset months", strtotime('2000-01-01')));
DemoJawaban ini tidak tepat untuk pertanyaan ini. Tetapi saya akan menambahkan ini karena pertanyaan ini masih dapat dicari bagaimana cara menambah / mengurangi periode dari tanggal.
$date = new DateTime('now'); $date->modify('+3 month'); // or you can use '-90 day' for deduct $date = $date->format('Y-m-d h:i:s'); echo $date;
sumber
Saya berasumsi dengan "tidak berfungsi" yang Anda maksud adalah bahwa ini memberi Anda stempel waktu, bukan tanggal yang diformat, karena Anda melakukannya dengan benar:
$effectiveDate = strtotime("+3 months", strtotime($effectiveDate)); // returns timestamp echo date('Y-m-d',$effectiveDate); // formatted version
sumber
Anda perlu mengubah tanggal menjadi nilai yang dapat dibaca. Anda dapat menggunakan strftime () atau date ().
Coba ini:
$effectiveDate = strtotime("+3 months", strtotime($effectiveDate)); $effectiveDate = strftime ( '%Y-%m-%d' , $effectiveDate ); echo $effectiveDate;
Ini seharusnya berhasil. Saya suka menggunakan strftime lebih baik karena dapat digunakan untuk pelokalan, Anda mungkin ingin mencobanya.
sumber
Jawaban Tchoupi dapat dibuat sedikit lebih pendek dengan menggabungkan argumen untuk strtotime () sebagai berikut:
$effectiveDate = date('Y-m-d', strtotime($effectiveDate . "+3 months") );
(Ini bergantung pada detail implementasi sihir, tetapi Anda selalu dapat melihatnya jika Anda benar tidak percaya.)
sumber
Berikut ini harus bekerja, Silakan Coba ini:
$effectiveDate = strtotime("+1 months", strtotime(date("y-m-d"))); echo $time = date("y/m/d", $effectiveDate);
sumber
Mengikuti harus bekerja
$d = strtotime("+1 months",strtotime("2015-05-25")); echo date("Y-m-d",$d); // This will print **2015-06-25**
sumber
Tambahkan hari ke n, bulan dan tahun
$n = 2; for ($i = 0; $i <= $n; $i++){ $d = strtotime("$i days"); $x = strtotime("$i month"); $y = strtotime("$i year"); echo "Dates : ".$dates = date('d M Y', "+$d days"); echo "<br>"; echo "Months : ".$months = date('M Y', "+$x months"); echo '<br>'; echo "Years : ".$years = date('Y', "+$y years"); echo '<br>'; }
sumber
Berikut ini seharusnya berfungsi, tetapi Anda mungkin perlu mengubah format:
echo date('l F jS, Y (m-d-Y)', strtotime('+3 months', strtotime($DateToAdjust)));
sumber