我正在编写一个PHP脚本来自动下载CSV文件。PHP file_get_contents/file_put_contents更改日期格式的CSV
当我手动从访问网络浏览器(Safari浏览器)的网址并下载文件并打开它在MS Excel中,A和d(分别是日期和时间)被格式化列如我所期望的,例如'12-S-16'和'3:00:30 pm'。 然而,当我运行下面PHP脚本:
$url_="";
$filename="File.csv";
file_put_contents('/home/file/path' . $filename, file_get_contents($url));
的文件下载,并且内容是从列隔开精细A & d,其格式如下“星期一年09月12 00:00:00 EDT 2016 '和'9月13日星期一10:00:30 EDT 2016'。
我的服务器时区设置为“欧洲/伦敦”。
很明显无论是file_get_contents(); file_put_contents();正在改变一些事情有谁会碰巧知道我该如何解决这个问题?
这不是一个PHP的问题。你从一个URL中获取,而f_g_c/f_p_c仅仅是该网站输出的CONDUITS。如果您在该输出中获取了错误的日期/时间,那么您并未通过该URL传递某些信息,以通知远程服务器应该使用哪个时区。 –
你是如何检查这个文件的?在MS Excel中?或者在文本编辑器中?用于CSV文件的MS Excel导入程序不一定会以您期望的格式保留日期! –
Excel将自动将日期转换为它们自己的格式。尝试在文本编辑器中打开文件,您将看到与php所看到的格式相同的格式。应该很简单,可以从中转换。 –