【发布时间】:2015-04-08 11:38:57
【问题描述】:
好吧,我不知道为什么会这样,但是我在 Excel 中的以下日期字段显示为数字,甚至没有时间戳。
我的 excel csv 文件日期字段的屏幕截图。
现在,当我阅读 CSV 日期字段时,将使用 php 在组合框中将此日期显示为以下数字,我不知道为什么它会这样显示,我应该怎么做才能转换回我的 csv 文件日期。 当我执行 data[$k] 读取 csv 文件时,会显示以下日期: 组合框中的 41724 和 41731 等等。怎么办?
我的代码:
while($data = fgetcsv($handle, 1000, ",")) {
if($row == 10) {
break;
}
else {
if($mycount == 0) {
$mycount = 1;
$field_name = $data[$k];
$tot_combo = $tot_combo + 1;
} else {
**$user_data[]** = $data[$k]; //where date coming here
}
$row = $row+1;
}
}
所以在做了更多研究后,我在 csv excel 文件中发现我的日期列被指定为日期,当在 php 中读取文件时,它将该日期列转换为文本,这将返回我 41708 而不是 10/03/2014 任何想法如何实现这一点谢谢
【问题讨论】:
-
如果你想得到答案,你应该添加一些相关的代码。
-
检查 Excel 中的格式(右键单击单元格并选择“设置单元格格式”) - 确保它使用适合您尝试导出的日期格式。
-
csv 文件的 sn-p 也很有用。请记住 csv 文件中没有日期(它的文本!),有以某种格式表示日期的字符串或数字.
-
感谢尝试通过格式单元格并在 excel 中选择“日期”,但仍然得到 41724 这样的结果:(
-
我认为它;当我从 csv 文件中提取数据时以文本形式出现,因为如果我将单元格格式化为 csv 日期列到文本,那么它只会给我 5 个数字,我在我的输出中得到在 php.ini 中。所以我在 excel 或 php 方面做什么,如果我从 csv 接收日期然后显示为日期。