3

私は月の短いバージョンを持っています:JAN, FEB, MARなど.

それらをそれぞれの数値に変換したい:1, 2, 3など

JAN, FEB, MARまた、数値の月の値を「短い」月の名前 ( ) と長いバージョン (January, February, Marchなど)に切り替えられるようにしたいと考えています。



注: @dipu-raj が指摘したように、これは重複ではありません。数字から MySQL MONTHNAME() の反対を求めているためです。異なる関数が必要なため、答えも異なります。

4

4 に答える 4

13

省略形を完全な月名に変換するには、次を使用します。

mysql> select monthname(str_to_date('Mar','%b'));
+------------------------------------+
| monthname(str_to_date('Mar','%b')) |
+------------------------------------+
| March                              |
+------------------------------------+

略語を数字に変換するには:

mysql> select month(str_to_date('Mar','%b'));
+--------------------------------+
| month(str_to_date('Mar','%b')) |
+--------------------------------+
|                              3 |
+--------------------------------+
于 2013-03-29T17:46:31.707 に答える
2

おそらく、MySQL の Date 関数に慣れる必要があります。あなたの場合STR_TO_DATE()DATE_FORMAT()最も便利なようです。情報へのリンクは次のとおりです。

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

于 2013-03-29T17:36:49.113 に答える
1

JANをその月番号に。FEB以下に表示されている列/値を置き換えます。

date_format(str_to_date(concat(2012, 'FEB'), '%Y%b'), '%m')
                                     ^^^^^

1をその短い月の名前に。示されている列/値を置き換えます。

 date_format(str_to_date(concat('2012-', 1), '%Y-%m'), '%b')
                                         ^

%M上記の最後の値の代わりに使用%bして、長い月名を取得します。

于 2013-03-29T17:42:10.797 に答える
-1

これを試してください:

    $date = 'Jan';
    echo 'Month number is '.date('n', strtotime($date)).'</br>';
    echo 'and its '.date('F', strtotime($date));

より多くの形式オプションについては、PHP Manual - Date/Time Functionsを使用してください。

于 2013-03-29T17:50:19.247 に答える