我使用下面的代码创建从本月开始的未来 12 个月的选择下拉列表:
$year=date("Y");
//Current Month
$month = date('m');
$dateObj = DateTime::createFromFormat('!m', $month);
$month0 = $dateObj->format('F');
$monthHTML .= "<option value='$month/$year'>$month0 $year</option>";
//next 11 months
for ($i=1; $i<=11; $i++) {
$month = date('m', strtotime('first day of +'.$i.' month'));
if($month==01) {
$year++;
}
$dateObj = DateTime::createFromFormat('!m', $month);
${"month".$i} = $dateObj->format('F');
$monthHTML .= "<option value='$month/$year'>".${"month".$i}." $year</option>";
}
Run Code Online (Sandbox Code Playgroud)
创建如下输出:
<select id="default-calendar-month" name="default-month">
<option value='01/2018'>January 2018</option><option value='02/2018'>February 2018</option><option value='03/2018'>March 2018</option><option value='04/2018'>April 2018</option><option value='05/2018'>May 2018</option><option value='06/2018'>June 2018</option><option value='07/2018'>July 2018</option><option value='08/2018'>August 2018</option><option value='09/2018'>September 2018</option><option value='10/2018'>October 2018</option><option value='11/2018'>November 2018</option><option value='12/2018'>December 2018</option></select>
Run Code Online (Sandbox Code Playgroud)
我想使用相同的代码来获取法语列表,即......
<select id="default-calendar-month" name="default-month">
<option value='01/2018'>Janvier 2018</option><option value='02/2018'>Fevrier 2018</option>
Run Code Online (Sandbox Code Playgroud)
等等。
看看其他答案(像这样),我尝试添加:
setlocale(LC_TIME, "fr_FR");
Run Code Online (Sandbox Code Playgroud)
并将“strtotime”更改为“strftime”,但这会消除这两个错误。我究竟做错了什么?
Warning: date() expects parameter 2 to be long, string given in /home/mysite/public_html/add.php on line 31
Fatal error: Call to a member function format() on a non-object in /home/mysite/public_html/add.php on line 36
Run Code Online (Sandbox Code Playgroud)
<? \n setlocale (LC_TIME, \'fr_FR.utf8\',\'fra\'); \n echo (strftime("%A %d %B")); \n\n?>\n
Run Code Online (Sandbox Code Playgroud)\n\n这是我在某处找到的另一种方法
\n\n$date = str_replace(\n array(\'January\', \'February\', \'March\', \'April\', \'May\', \'June\', \'July\', \'August\', \'September\', \'October\', \'November\', \'December\'),\n array(\'Januar\', \'Februar\', \'M\xc3\xa4rz\', \'April\', \'Mai\', \'Juni\', \'Juli\', \'August\', \'September\', \'Oktober\', \'November\', \'Dezember\'),\n $date\n);\n
Run Code Online (Sandbox Code Playgroud)\n