PHP强制date为CSV中的文本

我正在创build一个CSV导出,并且有一个datestring,在Excel或Numbers中打开时会保持格式化。 我怎样才能强制数据是文本。

停止Excel自动将某些文本值转换为date

我似乎无法在PHP中应用上述解决scheme。

if(strlen($date) == 10){ // 12-24-1983 $date = explode('-',$date); $m = $date[0]; $d = $date[1]; $Y = $date[2]; $date = $Y.'-'.$d.'-'.$m.' 00:00:00'; } else { // 2014-08-07 21:04:19 $date = explode(' ',$date); $datePiece = $date[0]; $timePiece = $date[1]; $datePiece = explode('-',$datePiece); $Y = $datePiece[0]; $m = $datePiece[1]; $d = $datePiece[2]; $date = $Y.'-'.$d.'-'.$m.' '.$timePiece; } return "$date"; 

你有没有试过在你的date值之前放一个单引号? 在Excel中,这将把它作为一个string值(不是date)为一个单元格。

=================================================

这是一个电子表格问题,而不是PHP编码问题。 如果您希望电子表格以不同方式查看,请告知电子表格程序以不同方式查看/格式化电子表格。

正确的数据在那里,问题不在于数据; 这是程序查看数据。 因此,如上所述,您可以将一些其他格式化值编码为xls(xlsx)文件,以实际执行该特定的电子表格程序/格式,但csv不允许您select格式。