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

时间:2012-09-03 11:33:56

标签: php sql

我使用代码

从日历中获取日期
if ($_POST){
    $m = $_POST['m'];
    $d = $_POST['d'];
    $y = $_POST['y'];

$event_date = $y."-".$m."-".$d;

日期格式为yyyy-m-d如何将格式更改为yyyy-mm-dd,以便我可以插入数据库

7 个答案:

答案 0 :(得分:5)

$time = strtotime( $event_date );
$myDate = date( 'Y-m-d', $time );

第一行转换为时间戳。 第二行转换为您想要的日期格式

答案 1 :(得分:1)

一种可能性是使用date()结合mktime()

$event_date = date('Y-m-d', mktime(0, 0, 0, $m, $d, $y));

答案 2 :(得分:0)

您可以在使用它之前进行转换:

if($_POST['m']<10)
{
    $m='0'.$_POST['m'];
}
else
{
    $m=$_POST['m'];
}

答案 3 :(得分:0)

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

答案 4 :(得分:0)

substr("00" . $m, -2)之类的东西会起作用吗?

不要使用PHP,因此语法可能有误,但方法应该是显而易见的,将00添加到开头然后取最后2个字符

答案 5 :(得分:0)

您可以使用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;  
}

答案 6 :(得分:0)

 echo(date("Y-m-d", strtotime($event_date)));