Php 如何从mysql日期提取年、月、日、小时、分钟、秒?
在我的mysql数据库中,我有如下日期:2011-01-06 09:39:114525 我需要分别从中提取年、月、日、时、分、秒 因此,我需要从上述示例中提取:Php 如何从mysql日期提取年、月、日、小时、分钟、秒?,php,mysql,Php,Mysql,在我的mysql数据库中,我有如下日期:2011-01-06 09:39:114525 我需要分别从中提取年、月、日、时、分、秒 因此,我需要从上述示例中提取: 2011 01 06 09 39 11 我该怎么做呢?在MySQL中,只需执行月(日)、年(日)等操作。在PHP中,您可以执行日期('g',strotime($datefromsql))来获取从日期算起的12小时格式 在上面的例子中,你可以 SELECT YEAR(date), MONTH(date),
2011
01
06
09
39
11
我该怎么做呢?在MySQL中,只需执行
月(日)
、年(日)
等操作。在PHP中,您可以执行日期('g',strotime($datefromsql))
来获取从日期算起的12小时格式
在上面的例子中,你可以
SELECT YEAR(date),
MONTH(date),
DAYOFMONTH(date),
HOUR(date),
MINUTE(date),
SECOND(date)
或者用PHP
$time = strtotime($datefromsql);
echo date('Y', $time);
echo date('m', $time);
echo date('d', $time);
echo date('h', $time);
echo date('i', $time);
echo date('s', $time);
检查此链接
使用DateTime类的最佳方法
$my_sql_date = '2011-01-06 09:39:11';
$date_time = new DateTime($my_sql_date);
echo $date_time->format('Y').PHP_EOL;
echo $date_time->format('m').PHP_EOL;
echo $date_time->format('d').PHP_EOL;
echo $date_time->format('h').PHP_EOL;
echo $date_time->format('i').PHP_EOL;
echo $date_time->format('s');
其结果可能是:
var_dump($dt->year); // int(2017)
var_dump($dt->month); // int(1)
var_dump($dt->day); // int(31)
var_dump($dt->hour); // int(7)
var_dump($dt->minute); // int(19)
var_dump($dt->second); // int(11)
参考资料获取更多信息碳库:旧线程,但我忍不住发布了明显的“暴力”解决方案: 如果SQL日期时间字符串格式始终如示例中所示,并且您不想使用日期时间函数/类,则可以执行以下操作:
$mysql_datetime = "2011-01-06 09:39:114525";
list($date, $time) = explode(' ', $mysql_datetime);
list($year, $month, $day) = explode('-', $date);
list($hr, $min, $sec) = explode(':', $time);
$sec = (int)substr($sec, 0, 2);
您想要的值现在在以下变量中可用:
$year、$month、$day、$hr、$min、$sec
我想建议一种更干净的方法。这可以在不使用任何库或框架的情况下实现
首先,您应该将datetime字符串转换为时间戳(strotime
适用于几乎所有格式)。然后使用getdate
,如下所示:
$dateAsTimestamp = strtotime("2011-01-06 09:39:11.45");
$dateTime = getdate($dateAsTimestamp);
函数以关联数组的形式返回日期和时间的所有组件
Array
(
[seconds] => 11
[minutes] => 39
[hours] => 9
[mday] => 6
[wday] => 4
[mon] => 1
[year] => 2011
[yday] => 5
[weekday] => Thursday
[month] => January
[0] => 1294306751
)
现在可以根据您的要求访问
echo($dateTime['hours']);
echo($dateTime['minutes']);
echo($dateTime['seconds']);
$MONTH = $dateTime['month'];
更多关于日期/时间功能的信息-和
Array
(
[seconds] => 11
[minutes] => 39
[hours] => 9
[mday] => 6
[wday] => 4
[mon] => 1
[year] => 2011
[yday] => 5
[weekday] => Thursday
[month] => January
[0] => 1294306751
)
echo($dateTime['hours']);
echo($dateTime['minutes']);
echo($dateTime['seconds']);
$MONTH = $dateTime['month'];