首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mySQL数据导出到日期格式为YYYY-mm-dd的Excel表格

问将mySQL数据导出到日期格式为YYYY-mm-dd的Excel表格
EN

Stack Overflow用户
提问于 2018-05-18 20:16:51
回答 1查看 563关注 0票数 0

我正在使用PHP将数据从MySQL数据库导出到Excel表格中。一切正常,但是日期字段数据在Excel工作表中会自动从YYYY-mm-dd转换为dd-mm-YYYY。

PHP代码:

​

代码语言:javascript
复制
$results = mysql_query("SELECT name,contact,reg_date FROM reg");
 
$headerDisplayed = false;
 
while ($data = mysql_fetch_array($results, MYSQL_NUM)) {
    // Add a header row if it hasn't been added yet
    if ( !$headerDisplayed ) {
        // Use the keys from $data as the titles
        fputcsv($fh,$data);
        $headerDisplayed = true;
    }
 
    // Put the data into the stream
    fputcsv($fh, $data);
}

​

DB表

​

Excel格式的输出:

​

​

预期输出:

​

​

EN

回答 1

Stack Overflow用户

发布于 2018-05-18 20:26:31

首先,你根本不应该使用mysql_query,请使用http://php.net/manual/en/book.mysqli.php或http://php.net/manual/en/book.pdo.php。MySQL模块有很多缺陷和安全漏洞。

现在回答你的问题:

在将日期放入fputcsv函数之前,您可以使用DateTime class将其转换为您喜欢的值,这是PHP本身的一部分。

您可以执行以下操作:

代码语言:javascript
复制
$date = DateTime::createFromFormat('Y-m-d H:i:s', $data['date']);
$data['date'] = $date->format('d-m-Y H:i:s');

来源:http://php.net/manual/en/datetime.format.php

编辑:我误解了问题,抱歉。我认为这与您的系统语言设置有关。我将此答案保留在这里,以防有人偶然发现它:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50411169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档