Удомельский форум   ◊
www.udomlya.ru | Медиа-Центр | Удомля КТВ | Старый форум

Вернуться   Удомельский форум > Hard&Soft > Программирование > PHP
Справка Пользователи Календарь Сообщения за день
 
 
Опции темы Опции просмотра
Старый 28.07.2009, 16:28   #1
Troll
Супер-Модератор
 
Аватар для Troll
 
Регистрация: 26.04.2006
Адрес: Удомля
Сообщений: 1,452
Вы сказали Спасибо: 70
Поблагодарили 536 раз(а) в 332 сообщениях
Отправить сообщение для Troll с помощью ICQ
По умолчанию FILETIME to Unixtime

Столкнулся тут с проблемой перевода времени из виндовой структуры FILETIME соответственно в unixtime. Достаточно длительное время потратил на решение данной задачи, так что выложу решении, вдруг кому понадобится. (Может даже мне, если в будущем подзабуду решение)

Код:
        //$time -Время в бинарном виде. В частности у меня читается из фала
        $unixtime = bin2hex($time); //Конвертируем в 16
        $unixtime = flip_endian($unixtime); //Меняем местами страшее и младшее слова
        $unixtime = base_convert($unixtime, 16, 10); //Приводим к 10-у виду
        $unixtime = win64_to_unix($unixtime) //преобразовываем в нужное время

function win64_to_unix($bci) {
        $magicnum = '116444735995904000'; //Разница между виндовым 1601 и юнихсовым 1970

        $t = bcsub($bci, $magicnum);    // Cast to Unix epoch
        $t = bcdiv($t, '10000000', 0);  // Convert from ticks to seconds

        return $t;
    }
    
function flip_endian($str) {
        if ( strlen($str) & 1 )
                $str = '0' . $str;

        $t = '';
        for ($i = strlen($str)-2; $i >= 0; $i-=2)
                $t .= substr($str, $i, 2);

        return $t;
    }
Troll вне форума  
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 22:52. Часовой пояс GMT +3.


Для улучшения работы сайта и его взаимодействия с пользователями мы используем файлы cookie. Продолжая работу с сайтом, Вы разрешаете использование cookie-файлов. Вы всегда можете отключить файлы cookie в настройках Вашего браузера.
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot