用PHP重新格式化MySQL日期

用PHP重新格式化MySQL日期,php,mysql,Php,Mysql,我想从MySQL数据库中选择数据并将其显示在一个表中,到目前为止,该表仍在运行,但我对日期格式有一个问题 我想将MySQL的日期重新格式化为dd/mm/YY,但我不知道怎么做,因为我没有特别选择日期列。我只是从表中选择所有列 代码: 是不是$k是列名,$v是值 如果是,则可以轻松检测日期列值并对其进行格式化: foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {

我想从MySQL数据库中选择数据并将其显示在一个表中,到目前为止,该表仍在运行,但我对日期格式有一个问题

我想将MySQL的日期重新格式化为dd/mm/YY,但我不知道怎么做,因为我没有特别选择日期列。我只是从表中选择所有列

代码:


是不是$k是列名,$v是值

如果是,则可以轻松检测日期列值并对其进行格式化:

 foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
     switch ($k) {
          case 'date_column':
                // echo formatted $v
                break;
          default:
                echo $v;
                break;
     }
 }

如果我假设$k为列,$v为值是正确的,那么这应该是可行的:

 foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
 switch ($k) {
      case '{{column_name}}':
            // Format {{column_name}} as you like, e.g:
            $date_time = strtotime($v);
            print date("d-m-y", $date_time);
            break;
      default:
            echo $v;
            break;
 }
}

在其他编程语言如c和java中,我们可以得到列类型。我认为这在php中也是可能的。通过了解列类型,您可以决定如何显示它。谢谢,这很有效!但是我有个问题,我不能转换日期。如果我使用$v@Uwe-oops,那么输出总是01.01.1970,我的坏,简单地使d-m-Y=>d-m-Y。我也更新了答案。很抱歉这么晚才回复。非常感谢你的帮助!
 foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
 switch ($k) {
      case '{{column_name}}':
            // Format {{column_name}} as you like, e.g:
            $date_time = strtotime($v);
            print date("d-m-y", $date_time);
            break;
      default:
            echo $v;
            break;
 }
}