为什么date显示不同于Excel到浏览器

我正在尝试使用PHP准备Excel报告。 在报告中,我有一个名为date的列。 我试图将date格式化为date('dM-Y',strtotime($row['MYDATE']));

所以我的问题是在浏览器上显示的格式是正确的(10-SEP-2010)但是在Excel表格中显示如下(9/10/2010)

为什么会有差异,我该如何解决这个问题?

可能是因为在PHP代码中,你明确地指定了要使用的格式,所以它按预期出现在浏览器中(date值已被转换成“string”)。

在Excel中,datestring正在自动检测,并根据系统的区域设置进行格式化(似乎在目标系统上设置为美国)。

'我'不会给你你想要的格式在Excel中。 您将需要显式格式化格式代码“dd-MMM-YYYY”的Excel单元格。