我在 mysql 中有以下 DateTime 字段,名为 '1899-12-30 12:17:52'
我正在尝试将其转换为屏幕上的时间,供使用 php 的用户使用
date('h:i:s A',strtotime($row_get_student_times['StartTime']))
但无论出于何种原因,无论何时,它总是返回下午 4:00。任何线索为什么会这样?
这是因为您试图显示 uinx 纪元(1970 年)之前的日期。尝试这个:
$date = new DateTime($row_get_student_times['StartTime']);
echo $date->format("h:i:s A");
您需要使用DateTime:
$datetime = new DateTime($row_get_student_times['StartTime']);
echo $datetime->format('h:i:s A');
<?php
$dateTimeString = '1899-12-30 12:17:52';
$dateTime = DateTime::createFromFormat('Y-m-d H:i:s', $dateTimeString);
echo $dateTime->format('H:i:s A');