首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP接受用户输入和格式化输出(日期)

PHP接受用户输入和格式化输出(日期)
EN

Stack Overflow用户
提问于 2016-12-14 04:05:57
回答 3查看 1.5K关注 0票数 1

我对php很陌生,需要一些帮助,我正在尝试接受用户的输入并对其进行格式化,以便输出显示月的最后一天。到目前为止,我的情况如下:

代码语言:javascript
复制
<?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输入变量时,它会显示用户输入的内容,但是它现在是如何设置的;没有任何显示,我得到了这一行:

代码语言:javascript
复制
Fatal error: Call to a member function format() on string in C:\xampp\htdocs\php-sessions\session-3\array.php on line 190

第190行是我的回波输入线。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-12-14 04:31:40

尝尝这个。您可能需要先从输入字符串创建日期。旧createFromFormat

代码语言:javascript
复制
$date = DateTime::createFromFormat('m/d/Y', $input);
echo $date->format('m/t/Y');

注意:记住对所有datetime函数也使用时区参数。

票数 2
EN

Stack Overflow用户

发布于 2016-12-14 04:08:44

就像替换

代码语言:javascript
复制
//output in correct format
    echo $input->format("m/t/Y");

使用

代码语言:javascript
复制
//output in correct format
    echo date("m/d/Y",strtotime($input));
票数 0
EN

Stack Overflow用户

发布于 2016-12-14 04:47:56

也许符合你的要求,

代码语言:javascript
复制
<?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": "";

?>

输出

代码语言:javascript
复制
2040-11, 30 day.
This Year is Leap year
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41134681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档