日期格式从yyyy-mm-d到yyyy-mm-dd


date formatting from yyyy-m-d to yyyy-mm-dd

我正在使用代码从日历中获取日期

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)));