2017-11-10 6 views
-1

私はさまざまな日付形式を含む文字列$strを持っています(私は本当にそれをコントロールしていません!)、月の名前を数字に変更できますか?文字列に月の名前が含まれている場合、数字に変換する

これらが出てくるのフォーマットの一部です:

  • 2020年9月14日
  • 14 - 2月 - 2018
  • 14月 - 2018

それは次のようになりすべての日付書式を最初の例に変更することは可能ですか?この

$new_date = date('Y-m-d',strtotime($old_date)); 

等により

+0

あなたが私の答えを持つ任意の助けが必要なら、私を知ってみましょう! –

答えて

3

YAH。

$new_date1 = date('Y-m-d',strtotime('14-feb-2018')); 
$new_date2 = date('Y-m-d',strtotime('14-march-2018')); 
+0

親切に答えを受け入れる...ありがとう... – GYaN

-1

これを試してみてください:

function convertMonthToInt($date) { 

    $date_bits = explode("-", $date); 

    $months = array(

     "january" => 1, 

     //etc etc 

    ); 

    if(is_string($date_bits[ 1 ]) !== true) { 

     return $date_bits[ 1 ]; 

    } 

    return $months[ strtolower($date_bits[ 1 ]) ]; 

}; 

convertMonthToInt("14-march-2018"); 
+1

この問題には1つの回線コードがあります... – GYaN

+2

ここで何をしていますか?あなたのコードをテストしましたか?そしてなぜ再び車輪を再発明するのですか?これは1行のコードでなければなりません。 'strtotime'が出てくるこのsisは –

+0

間違いを訂正しました。アレイを回した –

関連する問題