2011-06-07 71 views
1

这部分代码输出01/01/1970。我的代码不正确?我只发布了相关部分,因为它是json页面的一部分。表格字段是日期格式。感谢php显示日期代码01/01/1970

date('d/m/Y',$row['destroy_date']) 
+0

是的,如果'row ['destroy_date']'等于'1970-01-01',它是正确的。是吗 ? – 2011-06-07 10:03:59

+0

@skowron。这是db:2028-09-12中的日期。谢谢 – bollo 2011-06-07 10:05:19

+0

skowron-line,不,这是正确的,如果$ row ['destroy_date']'等于0到82799之间的任何值。 – 2011-06-07 10:06:24

回答

11

如果$row['destroy_date']不是UNIX时间戳,与strtotime第一解析它:

date('d/m/Y', strtotime($row['destroy_date'])) 

阅读手册中为date,你会看到第二个参数不能在任何一个日期格式。

+0

我试过了你的建议并产生这个错误:strtotime()[function.strtotime]:调用空时间参数。谢谢 – bollo 2011-06-07 10:07:03

+0

bollo,那个错误表明'$ row ['destroy_date']'在runnign那一行时没有被设置。确保其余的逻辑实际上是正确的(尝试在当前运行日期函数的同一位置回显'$ row ['destroy_date']'的值)。 – 2011-06-07 10:08:46

+0

我试图回应价值,但不断错误,预期的错误。这是显示日期的部分。 $ results = mysql_query($ sql); 而($行= mysql_fetch_assoc($结果)){ $数据[ '行'] [] =阵列( 'ID'=> $行[ 'ID'], '细胞'=>数组($行['id'],$ row ['authorization'],$ row ['boxref'],$ row ['custref'],date('d/m/y H:i:s',strtotime($ row [ ('d/m/Y',$ row ['fileout_date']),日期('d/m/Y',$ row ['filein_date']),日期('d/m/Y',strtotime($ row ['destroy_date'])),$ row ['filestatus'])); } echo $ json-> encode($ data);谢谢 – bollo 2011-06-07 10:18:54

0

大概价值为$row['destroy_date']为空或不正确的数据格式,以echo $row['destroy_date'];

+0

这里是什么回声:2028-09-12 – bollo 2011-06-07 10:16:31

1

this portion of code is outputing 01/01/1970. is my code incorrect?

那要看是什么$行[“destroy_date”]检查价值。如果这实际上是一个日期,则必须先将其转换为时间戳(strtotime)。如果它为空或0,它将转换为Epoch(1-1-1970)。

我发现DateTime更容易使用;

$datetime = new DateTime($row['destroy_date']); 
echo $datetime->format('d-m-Y'); 
+0

所以我必须在我的网页的每个日期行上使用它?谢谢 – bollo 2011-06-07 10:17:16