提取数据,如果日期转换它

时间:2014-01-14 05:24:40

标签: php mysql date

我正在从表中提取数据到csv文件。

要打印日期字段时,我需要转换为dd/mm/yyyy。 这是我试过的代码

$result = mysql_query($sqlquery); 
while ($row = mysql_fetch_assoc($result)) {
    foreach ($row as $key => $value) {
        $key = trim($value);            
        $key = str_replace(',', ' ', $key);   //remove any commas, as they stuff up excel. 
        //Is this a date field? if so convert it to dd/mm/yyyy
        print "$key" . ","; 
    }  
    if ($key > "") fputcsv($output, array('')); 
}

2 个答案:

答案 0 :(得分:1)

最简单的方法是检查值是否为日期格式,因为mysql_fetch_assoc不包含字段类型信息。

if(preg_match('/^\d{4}-\d{2}-\d{2}$/',$value)) {
  print "$key" . "," . date('d/m/Y',strtotime($value));
}

这将检查$ value是否为四位数字,短划线,两位数,另外两位数(yyyy-mm-dd),如果是,则使用strtotime函数将值转换为时间戳,date函数用于格式化日期字符串。

顺便说一句,不推荐使用mysql_ *函数,你应该使用mysqli或PDO。

答案 1 :(得分:0)

试试这个

  list($year, $month, $day) = explode('[-.]', $date); 
    $date = "$day/$month/$year";