我如何获得去年的开始和结束日期?

时间:2012-03-17 06:12:14

标签: php date

如何使用PHP代码获取去年的开始和结束日期?有可能吗?

5 个答案:

答案 0 :(得分:7)

第一天总是1月1日,最后一天总是12月31日。你实际上只是改变了附加的年份。根据您希望格式化日期的方式,您有几种可能性......

  1. 如果您只想显示实际日期:

    $year = date('Y') - 1; // Get current year and subtract 1
    $start = "January 1st, {$year}";
    $end = "December 31st, {$year}";
    
  2. 如果您需要这两个日期的时间戳:

    $year = date('Y') - 1; // Get current year and subtract 1
    $start = mktime(0, 0, 0, 1, 1, $year);
    $end = mktime(0, 0, 0, 12, 31, $year);
    
  3. 非常简单的东西。您可以手动指定您想要的年份。前提是一样的。

答案 1 :(得分:3)

您可以使用以下方法完成此操作。希望它可以帮到某人。

//to get start date of previous year
echo date("d-m-y",strtotime("last year January 1st"));

//to get end date of previous year
echo date("d-m-y",strtotime("last year December 31st"));

答案 2 :(得分:0)

年度开始日期:

mktime(0,0,0,1,1,$year);

年终日期:

mktime(0,0,0,1,0,$year+1);

答案 3 :(得分:0)

检查此资料

$currentY = date('Y');
$lastyearS = mktime(0, 0, 0, 1, 1,  $currentY-1 )."<br/>";
$lastyearE = mktime(0, 0, 0, 12, 31,  $currentY-1 )."<br/>";
echo date('Y-m-d',$lastyearS)."<br/>";echo date('Y-m-d',$lastyearE);

答案 4 :(得分:0)

假设您当前的月份是 2月或30天的月份

echo date('Y-12-t', strtotime(date('Y-m-d'))); // if current month is february (2015-02-01) than it gives 2015-02-28

会给你不准确的结果

<强>解决方案:

因此,要获得一年结束日期的准确结果,请尝试以下代码

$start_date = date("Y-01-01", strtotime("-1 year"));// get start date from here
$end_date = date("Y-12-t", strtotime($start_date));

<强>(OR)

$last_year_last_month_date = date("Y-12-01", strtotime("-1 year"));
$end_date = date("Y-12-t", strtotime($last_year_last_month_date));