_$month = "July";
_を変更して、_$nmonth = 7
_(_07
_も問題ないようにする)を簡単に変更する方法はありますか。 caseステートメントを実行できますが、変換する関数は既にありますか?編集:私は複数の答えを受け入れることができればいいのに、あなたの2人は基本的に私があなたの力を合わせて必要なものをくれたのです。
_$nmonth = date('m',strtotime($month));
_
これにより、_$month
_の数値が得られます。ありがとう!
はい、
$date = 'July 25 2010';
echo date('d/m/Y', strtotime($date));
m
は、月をその数値表現にフォーマットします。
これを試して:
<?php
$date = date_parse('July');
var_dump($date['month']);
?>
ここで興味深い外観、ケリーによって与えられたコードはうまく機能し、
$nmonth = date("m", strtotime($month));
ただし、2月の場合、現在の日がうるう年が30または31で、うるう年が29,30,31でない場合、期待どおりに動作しません。3を返します月番号として。例:
$nmonth = date("m", strtotime("february"));
解決策は、次のように月に年を追加することです。
$nmonth = date("m", strtotime("february-2012"));
これは、PHPマニュアルの comment から取得しました。
_$string = "July";
echo $month_number = date("n",strtotime($string));
_
'7' [月番号]を返します
出力「08」にdate("m",strtotime($string));
を使用します
その他の形式については、これを参照してください。
http://php.net/manual/en/function.date.php
これも使用できます:
$month = $monthname = date("M", strtotime($month));
$monthname = date("F", strtotime($month));
F
は完全な月名を意味します
$nmonth = date("m", strtotime($month));
日付関数を使用できるように、偽の日付を作成するのが最も簡単な場合があります。
ここでの優れたリファレンス: http://php.net/manual/en/function.date.php
例:
<?
$month = 7;
$tempDate = mktime(0, 0, 0, $month, 1, 1900);
echo date("m",$tempDate);
?>
<?php
$monthNum = 5;
$monthName = date("F", mktime(0, 0, 0, $monthNum, 10));
echo $monthName; //output: May
?>
上記の答えは良いです。別の方法があります:-
function getMonthNumber($monthStr) {
//e.g, $month='Jan' or 'January' or 'JAN' or 'JANUARY' or 'january' or 'jan'
$m = ucfirst(strtolower(trim($monthStr)));
switch ($m) {
case "January":
case "Jan":
$m = "01";
break;
case "Febuary":
case "Feb":
$m = "02";
break;
case "March":
case "Mar":
$m = "03";
break;
case "April":
case "Apr":
$m = "04";
break;
case "May":
$m = "05";
break;
case "June":
case "Jun":
$m = "06";
break;
case "July":
case "Jul":
$m = "07";
break;
case "August":
case "Aug":
$m = "08";
break;
case "September":
case "Sep":
$m = "09";
break;
case "October":
case "Oct":
$m = "10";
break;
case "November":
case "Nov":
$m = "11";
break;
case "December":
case "Dec":
$m = "12";
break;
default:
$m = false;
break;
}
return $m;
}
つかいます
date("F", mktime(0, 0, 0, ($month)));
where, $month value will be 1 -> 12
strtotime()
および date()
?と組み合わせて使用することもできます
PHP 5.4を使用すると、マシューの答えを1行に変換できます。
$date = sprintf('%d-%d-01', $year, date_parse('may')['month']);
$date = 'Dec 25 2099';
echo date('d/m/Y', strtotime($date));
これは01/01/1970
を返します。これは、PHPがすべての日付をサポートしていないことを意味し、Jan 19 2038
まで正しいフォーマットの日付を返しますが、Jan 20 2038
は01/01/1970
を返します
$dt = '2017-Jan-10';
OR
$dt = '2017-January-10';
echo date( 'Y-m-d'、strtotime($ dt));
echo date( 'Y/m/d'、strtotime($ dt));
$month = 'August';
$year = 2019;
echo date('m',strtotime($month.' '.$year));
31を与える