有人能给我一个快速而肮脏的方式将日期时间(28-1-2011 14:32:55)分成日期(28-1-2011)和时间(14:32)甚至更好(下午2:32)使用PHP。也使用mySQL数据库。
干杯
答案 0 :(得分:22)
如果您使用的是PHP> 5.2:
$myvalue = '28-1-2011 14:32:55';
$datetime = new DateTime($myvalue);
$date = $datetime->format('Y-m-d');
$time = $datetime->format('H:i:s');
在PHP 5.2之前mhitza给出了一个很好的答案。
答案 1 :(得分:10)
如果你的数据来源是MySQL:
SELECT DATE( date_field ) AS date_part, TIME( date_field ) AS time_part ....
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_time
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date
编辑: 回答评论中的问题(例子):
WHERE DATE( date_field ) > '2017-01-01'
答案 2 :(得分:8)
在php中,您可以使用date
和strtotime
函数轻松提取。
$datetime = "28-1-2011 14:32:55";
$date = date('Y-m-d', strtotime($datetime));
$time = date('H:i:s', strtotime($datetime));
答案 3 :(得分:0)
如果你正在寻找一个非常快速和肮脏的解决方案。
$datetime = "28-1-2011 14:32:55";
$date_arr= explode(" ", $datetime);
$date= $date_arr[0];
$time= $date_arr[1];
答案 4 :(得分:0)
如果你想从你的Mysql中解析日期并想要删除时间 然后你可以使用这个功能
$date1=date("Y-m-d",strtotime('$your database field'))
答案 5 :(得分:0)
一个简单的指令就可以解决这个问题
explode会将datetime转换为数组
和list会将datetime数组排序为所需的值
$datetime = "28-1-2011 14:32:55";
list($date, $time)=explode(' ', $datetime);
// check the result
echo "date:". $date;
echo "<br>time:". $time;
// further more you can easily split the date into
// year month and day
list($year, $month, $day)=explode('-', $date);
&#13;
答案 6 :(得分:0)
我们可以在MySQL中轻松地将DateTime(28-1-2011 14:32:55)拆分为日期和时间。
select SUBSTRING_INDEX("28-1-2011 14:32:55", " ",1) into @dateOnly;
select @dateOnly;
输出将为- 2011年1月28日(这里我们从DateTime中拆分日期)
select SUBSTRING_INDEX("28-1-2011 14:32:55", " ",-1) into @timeOnly;
select @timeOnly;
输出将为- 14:32:55 (这里我们将时间与DateTime分开了)
我们也可以隐瞒上午和下午的时间格式
select SUBSTRING_INDEX("28-1-2011 14:32:55", " ",-1) into @timeOnly;
SELECT TIME_FORMAT(@timeOnly, "%h %i %s %p")into @time;
select @time;
时间格式将变为 02 32 55 PM