Mysql
 sql >> база данни >  >> RDS >> Mysql

Дата от промени в Excel при качване в mysql

Excel съхранява стойностите на датата като "реалния" брой дни след основна дата, която може да бъде или 1 януари 1900 г. (по подразбиране за версии на Excel на Windows) или 1 януари 1904 г. (по подразбиране за Mac версии на Excel):часът е дробната част, така че обяд на всяка дадена дата е с 0,5 по-голям от полунощ. За да добавите още повече нещастието, 29 февруари 1900 г. е валидна дата за календара на Windows 1900.

Ако приемем календара на Windows 1900:

function ExcelToPHP($dateValue = 0) {
    $myExcelBaseDate = 25569;
    //  Adjust for the spurious 29-Feb-1900 (Day 60)
    if ($dateValue < 60) {
        --$myExcelBaseDate;
    }

    // Perform conversion
    if ($dateValue >= 1) {
        $utcDays = $dateValue - $myExcelBaseDate;
        $returnValue = round($utcDays * 86400);
        if (($returnValue <= PHP_INT_MAX) && ($returnValue >= -PHP_INT_MAX)) {
            $returnValue = (integer) $returnValue;
        }
    } else {
        $hours = round($dateValue * 24);
        $mins = round($dateValue * 1440) - round($hours * 60);
        $secs = round($dateValue * 86400) - round($hours * 3600) - round($mins * 60);
        $returnValue = (integer) gmmktime($hours, $mins, $secs);
    }

    // Return
    return $returnValue;
}   //  function ExcelToPHP()

ако Mac 1904 база, сменете

$myExcelBaseDate = 25569;
    //  Adjust for the spurious 29-Feb-1900 (Day 60)
    if ($dateValue < 60) {
        --$myExcelBaseDate;
}

с

$myExcelBaseDate = 24107;

Това ще върне PHP стойност за дата/час (стандартна базова дата от 1970 г.), която след това можете да форматирате както желаете, като използвате date();




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_fetch_array връща само един ред

  2. Как да актуализирате централна таблица с помощта на Eloquent в laravel 5

  3. MySQL:грешка във вашия SQL синтаксис ... близо до ключ ...?

  4. SQL:Създаване на релационна таблица с 2 различни auto_increment

  5. Създайте изглед с колона num_rows - MySQL