我正在使用代码从日历中获取日期
if ($_POST){
$m = $_POST['m'];
$d = $_POST['d'];
$y = $_POST['y'];
$event_date = $y."-".$m."-".$d;
日期的格式是yyyy-m-d如何将格式更改为yyyy-mm-dd以便插入数据库
$time = strtotime( $event_date );
$myDate = date( 'Y-m-d', $time );
第一行转换为时间戳。第二行转换为您想要的日期格式
一种可能性是将date()
与mktime()
结合使用
$event_date = date('Y-m-d', mktime(0, 0, 0, $m, $d, $y));
您可以在使用它之前进行转换,如下所示:
if($_POST['m']<10)
{
$m='0'.$_POST['m'];
}
else
{
$m=$_POST['m'];
}
if ($_POST){
$m = $_POST['m'];
$d = $_POST['d'];
$y = $_POST['y'];
if($m<10)
{
$m="0".$m;
}
if($d<10)
{
$d="0".$d;
}
$event_date = $y."-".$m."-".$d;
}
像substr("00" . $m, -2)
这样的东西能工作吗?
不要使用PHP,所以语法可能是错误的,但方法应该是显而易见的,在开头添加00,然后使用最后2个字符
您可以使用strftime并使用checkdate:执行检查
if ($_POST){
$m = $_POST['m'];
$d = $_POST['d'];
$y = $_POST['y'];
$event_date = checkdate($m, $d, $y) ? strftime('Y-m-d', mktime(0, 0, 0, $m, $d, $y)) : null;
}
echo(date("Y-m-d", strtotime($event_date)));