给定日期以PHP格式yyyy-mm-dd格式化完整日期

时间:2017-11-22 21:07:54

标签: php

例如:用户输入为12(每月的第12天),我想将其显示为2017-11-12

基本上我希望用户设置1到30之间的日期,然后使用该输入我创建一个当前月份和年份的日期来处理我的逻辑。

4 个答案:

答案 0 :(得分:0)

简单:)

$user_input = "12";

#you should consider testing if the user input is within your accepted ranges (1-31)

$full_date = date("Y-m")."-"$user_input;
echo $full_date;

答案 1 :(得分:0)

使用mktime获取unixtime: http://php.net/manual/en/function.mktime.php

$daynumber=15; //user input
$date=mktime(0,0,0,date("n"),$daynumber);

答案 2 :(得分:0)

如果我希望在那个日期继续工作,我喜欢使用\DateTime

$input = 12;
$date = new \DateTime(date('Y-m').'-'.$input);
echo $date->format('Y-m-d');

答案 3 :(得分:0)

不是通过将用户输入与当前日期的其他部分组合来构建字符串,而是可以使用createFromFormat类的DateTime方法:

$day = 12;
$date = DateTime::createFromFormat('j', $day);

echo $date->format('Y-m-d');
// 2017-11-12

j格式字符串是指没有前导零的月中的某一天。