我最近在搜索将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;
}