【问题标题】:Formatting MySQL datetime in PHP在 PHP 中格式化 MySQL 日期时间
【发布时间】:2015-11-15 22:23:07
【问题描述】:

我正在尝试将我的 DATETIME 格式化为西班牙语,因此它不会显示为“2015-11-14 13:22:33”。

实际上我是在这样的 squery 上调用我的日期时间

$not_Fecha = $rows_result ['nw_Fecha'];

并在此处进行格式化(dias = 天,meses = 月):

    <?php  $not_Fecha = new DateTime($result->my_datetime);

$dias = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sábado");
$meses = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");

echo $result = $dias[date('w')]." ".date('d')." de ".$meses[date('n')-1]. " del ".date('Y'). " a las ".date('g:i A') ;

?>

但它显示的是今天的日期,而不是存储在我的数据库中的日期。会是什么?

【问题讨论】:

    标签: php mysql datetime


    【解决方案1】:

    您从不使用数据库中的日期。你只使用今天使用的date()(除非你给它一个不同日期的Unix时间戳)。替换您对 date 的调用以使用 DateTime 对象,该对象代表您要使用的实际日期。

    <?php  
    $not_Fecha = new DateTime($result->my_datetime);
    
    $dias = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sábado");
    $meses = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
    
    echo $result = $dias[$not_Fecha->format('w')]." ".$not_Fecha->format('d')." de ".$meses[$not_Fecha->format('n')-1]. " del ".$not_Fecha->format('Y'). " a las ".$not_Fecha->format('g:i A') ;
    ?>
    

    Demo

    【讨论】:

    • 谢谢约翰,但我做了你建议的更改,它一直显示今天的日期
    • $result-&gt;my_datetime的值是多少?
    • 也许这就是错误,它没有显示任何值,我怎样才能让这段代码检测到我的 $not_fecha? @约翰
    • 您的错误与从数据库中获取数据有关。你需要解决这个问题,然后这段代码才能工作。
    • 那么你提供的第一行代码也是错误的。尝试使用 `$not_Fecha = new DateTime($not_Fecha);)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    相关资源
    最近更新 更多