【问题标题】:Change value in an array [closed]更改数组中的值[关闭]
【发布时间】:2012-02-16 16:33:20
【问题描述】:

我从 CSV 导入到 Mysql,一切正常,唯一的问题是我必须将正常日期转换为 mysql 日期。谁能帮忙。

$row = 1;
if (($handle = fopen($_FILES['Filedata']['tmp_name'], "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 10000, ";")) !== FALSE) {  
        if($row != 1) {
            $sql = sprintf('INSERT INTO %s ('.$fields.') VALUES ("%s")',
              'flight_tbl',
              implode('", "', array_map('mysql_escape_string', $data))
            );          
            mysql_query("SET names latin5");            
            mysql_query($sql);
        }
        $row++;

【问题讨论】:

  • 你能描述一下你的“正常日期格式”吗?
  • 合理的缩进总是有帮助的。以及发布相关代码和数据

标签: php mysql


【解决方案1】:

你是这个意思吗?

$data[$your_date_field_index] = date('Y-m-d H:i:s', strtotime($data[$your_date_field_index]));

【讨论】:

  • 是的,谢谢亲爱的! $data[3] = date('Y-m-d', strtotime($data[3]));
【解决方案2】:

由于您没有定义“正常日期”,因此不能保证有效,但如果您的日期保存在字符串中,答案几乎肯定是:

$mySqlDate = date('Y-m-d H:i:s', strtotime($normalDate));

如果是整数 Unix 时间戳,则为:

$mySqlDate = date('Y-m-d H:i:s', $normalDate);

【讨论】:

  • $data[3] = date('Y-m-d', strtotime($data[3]));
猜你喜欢
  • 2021-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-11
  • 1970-01-01
  • 2023-03-14
  • 2021-09-11
  • 2012-12-04
相关资源
最近更新 更多