Как конвертировать время DOS в UNIX время в PHP?

Недавно я искал функцию для преобразования времени DOS (дата и время, закодированные в 4-байтовое слово) в время UNIX. Единственная функция, которую я смог найти, была в Java, так что вот код, преобразованный в PHP. Если у кого-то есть лучшее решение, пожалуйста, опубликуйте его здесь.

function dosToUnixTime($dosTime) {
    $date = mktime(
        (($dosTime >> 11) & 0x1f), // hours
        (($dosTime >> 5) & 0x3f),  // minutes
        (($dosTime << 1) & 0x3e),  // seconds
        ((($dosTime >> 21) & 0x0f) - 1),   // month
        (($dosTime >> 16) & 0x1f),         // day
        ((($dosTime >> 25) & 0x7f) + 1980) // year
    );
    return $date;
}

0 ответов

Другие вопросы по тегам