2012-03-17 9 views

答えて

6

初日は常に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); 
    

非常にシンプルなもの。あなたが望むのであれば、手動で年を指定することもできます。前提は同じです。

0

年の開始日:

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

年の終了日:

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

ここで '$ year'の値は何ですか? – Kichu

+0

この関数は推奨されていませんが、パラメータなしで使用する場合にのみ、time()関数を代わりに使用するE_STRICT通知があります。この関数をパラメータとともに使用することは、依然として良好です。 –

+0

$ yearはあなたが望む年の値です。 1.1.2012と31.12.2012が必要な場合、$ yearは2012になります。 –

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); 
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)); 
1

次のコードを試してみてください。誰かを助けることを願っています。

//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")); 
関連する問題