例如:用户输入为12(每月的第12天),我想将其显示为2017-11-12
基本上我希望用户设置1到30之间的日期,然后使用该输入我创建一个当前月份和年份的日期来处理我的逻辑。
答案 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
格式字符串是指没有前导零的月中的某一天。