2013-05-17 119 views
0

数据,时间格式,我需要比较日期/时间,我从MySQL获得与像格式:2013-05-17 15:07:29生成2个分隔的字符串

从另一个数据库中,我有数据和时间上分离,并在符号: 130998 081836

我已经连接在一起的两个字符串得到唯一的一个,我试图将其转换为使用我想要的格式:

$dateTimeNmea = $array[9]." ".$array[1];   // 130998 081836 
$dateTime = date("Y-m-d H:i:s", $dateTimeNmea); // 1970-01-02 13:23:18 

因此,“它的工作原理”的格式,但值是错误的。它可能是1998-09-13 08:18:36

我的错在哪里?

回答

0

130998 081836不是date函数能够理解日期的格式。

对于初学者的date()函数期望第二参数去是一个时间戳(读它here文档)

那么你就需要通过date_parse_from_format终于成时间戳来解析字符串转换成可用的日期格式

喜欢的东西

$string = '130998 081836'; 
$date = date_parse_from_format('dmY His', $string); 

$dateString = date('Y-m-d H:i:s', strtotime(vsprintf('%s-%s-%s %s:%s:%s', $date))); 

var_dump($dateString); // var dump just for output/test 

strtotime(vsprintf('%s-%s-%s %s:%s:%s', $date)的格式的解析日期成时间戳,然后可以在date米使用方法第二参数准确地获得您需要的格式。

+0

完美!有用。谢谢! – doxsi

1

它的格式为siH dmy。尝试使用date_parse_from_format('siH dmy', $string)以获得数组。