2016-12-05 13 views
0

私の出力は - 05/12/2016 < ---年は現在の年によって異なります。データベースからエコー日付と月とエコー現在の年

$date='05/12/2014'; $current_year='date("Y")';

私は以下のが、明らかにその間違ったように組み合わせて試してみました。私の助けてください、私はどのように私の欲望の出力を得るためにこれら2つを組み合わせるのですか?

$date =(date("d/m", strtotime($date']))/date("Y")); 
+1

あなたは2014年5月12日上の日付を取得し、単に2016年に変更しようとしていますか? もしそうなら、あなたの日付をDateTimeオブジェクトに入れて、フォーマットを使って日付の各部分を取り出し、新しい年を使って新しいDateTimeオブジェクトを設定します。 日付に爆発を使用する人もいます...日付の形式が変わる可能性があるので、それを控えようm/d/yd/m/yなど – joshualawson

答えて

1

あなたのアプローチが有効です。ちょうどそれを少し適応:

date("d/m", strtotime($date)) . '/' . date("Y"); 

EDIT:

をとしては、/日は'25のときに問題がある可能性があります(D/M/Y)日付形式のこのタイプで、他の人が指摘しました12/2014 'あなたのコードは、あなたの日付フォーマットを制御するためにdate_parse_from_formatを使用するすべての場合で動作を確認するには:あなたはこのような何かを試してみてください

$date = '25/12/2014'; 
$date_array = date_parse_from_format('d/m/Y',$date); 

echo $date_array['day'] . '/' . $date_array['month'] . '/' . date("Y"); 
1
$date='05/12/2014'; 

echo date("d/m", strtotime($date)) ."/". date("Y"); 
+2

このコードスニペットは質問を解決するかもしれませんが[説明を含む](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)本当に役立ちますあなたの投稿の質を向上させる。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! – kayess

1

。あなたの/を結び、]を削除してください。データベースの日付をフォーマットする必要があります。これはうまくいくはずです。 試してみてください。

$databaseDate = date("d/m/Y", strtotime("31/12/2014")); //you need to format your databse Date 
$mergeDate = date("d/m", strtotime($databaseTime)) . '/' . date("Y"); 
echo $mergeDate; 

LIVE DEMO

関連する問題