答案 0 :(得分:41)
答案 1 :(得分:8)
答案 2 :(得分:2)
使用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');
答案 3 :(得分:0)
$dt = Carbon::now();
$dt->timestamp = strtotime($mysqlVarDatetime); //like '2017-01-31 07:19:11' string cad
可能会导致:
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)
资源以获取更多信息碳库:http://carbon.nesbot.com/docs/#api-getters
答案 4 :(得分:0)
旧帖子,但是我无法拒绝发布那些显而易见的蛮力'溶液:
如果您的SQL日期时间字符串格式总是如您的示例所示,并且您不想使用日期时间函数/类,则可以执行以下操作:
$year, $month, $day, $hr, $min, $sec
您想要的值现在可用于以下变量:activity_admin.xml
。
答案 5 :(得分:0)
我想提出一种更清洁的方法。这可以在任何库或框架上实现。
首先,您应该将datetime字符串转换为时间戳(strtotime
适用于几乎所有格式)。然后使用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'];