Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2012, 10:37   #1
xedoss
 
Регистрация: 03.09.2012
Сообщений: 3
По умолчанию Разделить время

Здравствуйте, столкнулся с не поняткой как мне разделить время.
Например :
Константа в формате unix 1346667404 мне нужно отнять от нее текущую дату а полученную разделить на какое то число. Проблема в том что на 1 делится нормально в на другие числа не правильно.
Код:
echo  ((1346667404 - time())/1) ; Получаю нормально 13336
echo  ((1346667404 - time())/10) ; Получаю не правильно 1334.9
Как мне разделить правильно время?. Спасибо
xedoss вне форума Ответить с цитированием
Старый 03.09.2012, 11:43   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

У меня этот код работает корректно:
PHP код:
echo  ((1346667404 time())/1) . '<br/>';
echo  ((
1346667404 time())/10); 
Цитата:
9338
933.8
Andkorol вне форума Ответить с цитированием
Старый 03.09.2012, 11:52   #3
xedoss
 
Регистрация: 03.09.2012
Сообщений: 3
По умолчанию

Да вот только с точкой число получается, а мне нужно чтобы все время было целое но без округления чтобы секунды не потерять.
xedoss вне форума Ответить с цитированием
Старый 03.09.2012, 12:00   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от xedoss Посмотреть сообщение
Да вот только с точкой число получается, а мне нужно чтобы все время было целое но без округления чтобы секунды не потерять.
Это глупости – так не бывает.
Далеко не все числа делятся на другие числа нацело (кроме деления на 1 и на само себя).
Или число с точкой – или округление до целого.
Не хочешь потерять секунды – округляй в большую сторону.

Последний раз редактировалось Andkorol; 03.09.2012 в 12:05.
Andkorol вне форума Ответить с цитированием
Старый 03.09.2012, 20:26   #5
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Наверное так:
Код:
$time = time();
echo floo((1346667404 -$time)/10);
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 03.09.2012, 20:28   #6
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Цитата:
echo ((1346667404 - time())/1) ; Получаю нормально 13336
echo ((1346667404 - time())/10) ; Получаю не правильно 1334.9
Проблема данного кода, я считаю, в том, что между первым возвращением time() и вторым время то меняется и величина возвращается большая. Решится внедрением переменной $time = time(); Если операцию надо произвести именно в данный момент времени.
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 04.09.2012, 22:35   #7
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Ахринеть, что-то долго выполняется деление\вывод и другие функции, пока доходит до второй строчки.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
текущее время (системное время ) Sirk0 Общие вопросы Delphi 27 07.03.2015 17:52
разделить строку!!!! dzaymko Microsoft Office Excel 1 01.05.2012 17:03
Разделить строчку alexprey Общие вопросы Delphi 3 28.01.2011 17:09
Разделить время выполнения потоков MrBrain Общие вопросы .NET 0 22.06.2010 18:13
Время нажатия на кнопку мыши(Время реакции) Кирилл13 Помощь студентам 1 11.04.2009 19:41