我对php很陌生,需要一些帮助,我正在尝试接受用户的输入并对其进行格式化,以便输出显示月的最后一天。到目前为止,我的情况如下:
<?php
//form for user-input
echo "<form name='form' method='post' action='array.php'>";
echo "<p>Enter Date in ' Month/Day/Year ' format<p>";
echo "<input type='text' id='date-input' name='date-input' placeholder='Enter date' />";
echo "</form>";
//grab user-input
$input=$_POST["date-input"];
//output in correct format
echo $input->format("m/t/Y");
?>当我有没有格式函数和日期格式的echo输入变量时,它会显示用户输入的内容,但是它现在是如何设置的;没有任何显示,我得到了这一行:
Fatal error: Call to a member function format() on string in C:\xampp\htdocs\php-sessions\session-3\array.php on line 190第190行是我的回波输入线。
发布于 2016-12-14 04:31:40
尝尝这个。您可能需要先从输入字符串创建日期。旧createFromFormat
$date = DateTime::createFromFormat('m/d/Y', $input);
echo $date->format('m/t/Y');注意:记住对所有datetime函数也使用时区参数。
发布于 2016-12-14 04:08:44
就像替换
//output in correct format
echo $input->format("m/t/Y");使用
//output in correct format
echo date("m/d/Y",strtotime($input));发布于 2016-12-14 04:47:56
也许符合你的要求,
<?php
$date = "2040-11-23";
$Year = DateTime::createFromFormat("Y-m-d", $date)->format("Y");
$YearWithDay = DateTime::createFromFormat("Y-m-d", $date)->format(" Y-m, t \d\a\y.");
function is_leap_year($year)
{
return ((($year % 4) == 0) && ((($year % 100) != 0) || (($year % 400) == 0)));
}
echo $YearWithDay."<br>";
echo (is_leap_year($Year))?"This Year is Leap year": "";
?>输出
2040-11, 30 day.
This Year is Leap yearhttps://stackoverflow.com/questions/41134681
复制相似问题