2013-05-02 62 views
1

分开后,我有一个包含日期和时间的变量,它已被元素“T”如何分割这是由元素在PHP

$date_time="2013-05-05T18:30:00"; 

现在我想的日期在一个变量和分隔的字符串时间在下面的另一个变量中。

$date="2013-05-05"; 
$time="18:30" 
+3

人们互相倾倒,告诉你如何分割字符串,但有人应该告诉你,也许这不是一个好主意,毕竟分裂它。如果你想在分解它之后做任何*操作,最好是构造一个'DateTime'实例,并且使用它。 – Jon 2013-05-02 12:20:53

+0

@jon你是对的。分裂后我想做一些操作。这就是juco所说的。:-) – user2335484 2013-05-02 13:09:04

回答

5

如果你只是试图分裂它,那么你可以使用explode()以及list()

list($date, $time) = explode('T', $date_time); 
echo "Date: $date Time: $time"; 

如果您打算对此进行任何处理,您可能还想查看PHP的DateTime类。

+1

'DateTime'的引用。 – Jon 2013-05-02 12:21:22

+0

@juco,有趣..从来不知道。 +1 – 2013-05-02 12:23:47

+0

+1顺便说一句,你应该使用'@'操作符(在'list'之前),因为如果它不包含任何'T',它会发出通知。你应该使用'2'作为'explode'的第三个参数,如果字符串包含多于1个字符'T' – pozs 2013-05-02 12:39:21

2

使用explode函数。

$date_time="2013-05-05T18:30:00"; 
$dateArr = explode("T",$date_time); 
$date = $dateArr[0]; 
$time = $dateArr[1]; 

或保存的只是行代码,

list($date, $time) = explode("T",$date_time,2); 

DEMO

+3

'list($ date,$ time)= explode(...)' – Jon 2013-05-02 12:19:41

1

你可以使用爆炸()

代码:

$date_time="2013-05-05T18:30:00"; 

$explodedArray=explode('T',$date_time); 

echo $explodedArray[0]; 
echo $explodedArray[1]; 
1

使用explode()功能

<?php 
$date_time="2013-05-05T18:30:00"; 

$newdate_time=explode("T",$date_time); 
echo $newdate_time[0]; 
echo $newdate_time[1]; 

?> 
1

你需要explode()函数。爆炸(“T”,$ DATE_TIME)会给你该数组:

array(2) { 
    [0] => 
    string(10) "2013-05-05" 
    [1] => 
    string(8) "18:30:00" 
} 

如果你确定该格式永远是对的,你可以使用更方便的方式

list($date, $time) = explode('T', $date_time) 
1

的另一种方式这样做,这将是创建日期和时间,2个新的变量是这样的:

<?php 
$timecode = strtotime("2013-05-05T18:30:00"); 
$date = date("Y-m-d", $timecode); 
$time = date("H:i:s", $timecode); 
echo "$date $time"; 
?> 

,如果你想要做更多的时间在操纵你的程序,这可能是有利的。