在我的数据库中我有一个时间戳列...反映了这样的格式:2012-04-02 02:57:54
但我想将它们分为$date
和$time
。
但我不太清楚如何编写代码......
在我的php文件中...提取的时间戳是$ row ['DATETIMEAPP']。
威尔
$date= strtotime('d-m-Y',$row['DATETIMEAPP']);
$time= strtotime('Gi.s',$row['DATETIMEAPP']);
或
$date= date('d-m-Y',$row['DATETIMEAPP']);
工作?
我可以使用date()来获取时间吗?
提前致谢
答案 0 :(得分:60)
$timestamp = strtotime($row['DATETIMEAPP']);
为您提供时间戳,然后您可以使用日期格式化:
$date = date('d-m-Y', $timestamp);
$time = date('Gi.s', $timestamp);
可选地
list($date, $time) = explode('|', date('d-m-Y|Gi.s', $timestamp));
答案 1 :(得分:8)
如果您不想从时间戳更改日期和时间的格式,可以使用php中的explode
函数
$timestamp = "2012-04-02 02:57:54"
$datetime = explode(" ",$timestamp);
$date = $datetime[0];
$time = $datetime[1];
答案 2 :(得分:2)
$mydatetime = "2012-04-02 02:57:54";
$datetimearray = explode(" ", $mydatetime);
$date = $datetimearray[0];
$time = $datetimearray[1];
$reformatted_date = date('d-m-Y',strtotime($date));
$reformatted_time = date('Gi.s',strtotime($time));
答案 3 :(得分:1)
$timestamp='2014-11-21 16:38:00';
list($date,$time)=explode(' ',$timestamp);
//只是时间
preg_match("/ (\d\d:\d\d):\d\d$/",$timestamp,$match);
echo "\n<br>".$match[1];
答案 4 :(得分:0)
适合我:
select DATE( FROM_UNIXTIME( columnname ) ) from tablename;
答案 5 :(得分:0)
你可以试试这个:
日期:
$date = new DateTime($from_date);
$date = $date->format('d-m-Y');
时间:
$time = new DateTime($from_date);
$time = $time->format('H:i:s');
答案 6 :(得分:-1)
您可以选择使用数据库功能进行日期/时间格式化。例如在MySQL查询中使用:
SELECT DATE_FORMAT(DATETIMEAPP,'%d-%m-%Y') AS date, DATE_FORMT(DATETIMEAPP,'%H:%i:%s') AS time FROM yourtable
我认为数据库也为日期格式提供了解决方案