我需要从2015-01-25 21:00分割时间和日期。我想把它分成$ year,$ month,$ day和$ time。我总是在约会结束时:25 21:00。所以我想要4个不同的变量。
答案 0 :(得分:1)
select year(datetime_column) as year,
month(datetime_column) as month,
day(datetime_column) as day,
time(datetime_column) as time
from your_table
答案 1 :(得分:1)
您想要使用strtotime和date。这是一个如何突破它的快速示例。
$date = strtotime('2015-01-25 21:00');
$year = date('Y', $date);
$month = date('m', $date);
$day = date('d', $date);
$time = date('H:i', $date);
我会阅读上面的链接,以便更好地了解这些要求。应以这种方式处理所有日期字符串以确保准确性。此外,如果您开始修改日期+/-天/月/年,则应修改$date
var,而不是修改您创建的新版本。
虽然preg_match和下面的答案中的爆炸可能会给你带来结果,但几乎不可能将数据作为任何用例的日期来处理。
答案 2 :(得分:0)
我会假设您不想在MySQL中进行实际拆分?无论哪种方式,我认为这类问题已有多个答案。
来自this answer的PHP解决方案。
$myvalue = '28-1-2011 14:32:55';
$datetime = new DateTime($myvalue);
$date = $datetime->format('Y-m-d');
$time = $datetime->format('H:i:s');
答案 3 :(得分:0)
您可以使用preg匹配,您可能希望将值转换为int。
preg_match('/([0-9]{4})\-([0-9]{2})\-([0-9]{2}) ([0-9]{2}\:[0-9]{2})/', $date, $match);
$year = $match[1];
$month = $match[2];
$day = $match[3];
$time = $match[4];
答案 4 :(得分:0)
试试这个:
$datetime = '2015-01-25 21:00';
$datetime_array = explode(' ',$datetime);
$date = $datetime_array[0];
$time = $datetime_array[1];
$arr = explode('-', $date);
$year = $arr[0];
$month = $arr[1];
$day = $arr[2];
echo 'Year: '.$year.' Month: '.$month.' Day: '.$day.' Time: '.$time;
输出:
Year: 2015 Month: 01 Day: 25 Time: 21:00