2011-05-05 39 views
32

Tôi làm cách nào để có thể nhận được giá trị của năm trước bằng cách sử dụng PHP. Có bất kỳ chức năng được xác định trước nào cho nó không?Cách lấy năm trước bằng cách sử dụng PHP

+3

Whats vấn đề? '$ previousYear = $ year - 1;' hoặc cái gì đó như '$ prevYear = date ('Y', $ timestamp) - 1;' – KingCrunch

+0

cái gì đó như $ prevYear = date ('Y', $ timestamp) - 1; – Fero

Trả lời

81

thử

echo date("Y",strtotime("-1 year")); 
+0

bạn chỉ cần thực hiện php một chút ít khủng khiếp đối với tôi –

2
function adddate($vardate,$added) 
{ 
$data = explode("-", $vardate); 
$date = new DateTime();    
$date->setDate($data[0], $data[1], $data[2]); 
$date->modify("".$added.""); 
$day= $date->format("Y-m-d"); 
return $day;  
} 

echo "Example : " . adddate("2010-08-01","-1 year"); 
5

Có rất nhiều cách, bạn có thể lấy đi số lượng giây trong một năm từ time() như vậy:

$prevYear = date('Y', time() - 60*60*24*365);

Hoặc nếu bạn' d thích, sử dụng chức năng strtotime() thông minh của PHP:

$prevYear = date('Y', strtotime('-1 year'));

Hoặc thậm chí giống như những người khác đã nói, nếu đó là từ ngày nay năm chỉ làm date('Y') -1

+0

Ngày này ('Y', thời gian() - 60 * 60 * 24 * 365) nên được sử dụng cẩn thận, vì năm nhuận sẽ tạo ra vấn đề. – Muk

1

Nếu bạn muốn hiển thị toàn bộ ngày chính xác 1 năm trước, bao gồm tháng và năm:

<?php echo date("M d Y", strtotime("-1 year")); ?> 
0

Cách tiếp cận ngắn nhất:

$lastYear = date("Y") - 1; 
-1

Hãy thử này

date('Y', strtotime('last year')); 
Các vấn đề liên quan