Закрыть Привет! Если вы читаете это - Вы еще не зарегистрированы. Это займет не больше минуты. Нажмите здесь, чтобы пройти регистрацию в несколько простых шагов, чтобы пользоваться всеми возможностями нашего форума. Обратите внимание, запрещены непристойные, матерные, бессмысленные (цифры, случайный набор букв) ники. Удачи!

Тема: Не могу разобраться с UNIX временем.

Показано с 1 по 10 из 11

  1. #1
    Пользователь

    Аватар для Lionely

    Статус: Оффлайн
    Регистрация:22.07.2013
    Сообщений:262
    Репутация:6 [+/-] 

    Не могу разобраться с UNIX временем.

    Доброго времени суток.

    Не могу разобраться с UNIX временем, а именно, показывает не верно время, дату определяет верно, а вот время определяет не верно.

    Как же я всё это проверил:

    PHP код:
            new tmphourtmpminutetmpsecond;
        
    AC_Unix_Timer gettime(tmphourtmpminutetmpsecond);
        
    printf("%s",date("%dd/%mm/%yyyy в %hh:%ii:%ss",AC_Unix_Timer));
        
    printf("%d | %d | %d",tmphourtmpminutetmpsecond); 
    И вот какие результаты:

    PHP код:
    10/02/2017 в 15:28:39
    28 39 
  2. #2
    Пользователь

    Аватар для Mike_Killer

    Статус: Оффлайн
    Регистрация:20.02.2013
    Сообщений:361
    Репутация:328 [+/-] 
    Доброго времени суток.

    Не могу разобраться с UNIX временем, а именно, показывает не верно время, дату определяет верно, а вот время определяет не верно.

    Как же я всё это проверил:

    PHP код:
            new tmphourtmpminutetmpsecond;
        
    AC_Unix_Timer gettime(tmphourtmpminutetmpsecond);
        
    printf("%s",date("%dd/%mm/%yyyy в %hh:%ii:%ss",AC_Unix_Timer));
        
    printf("%d | %d | %d",tmphourtmpminutetmpsecond); 
    И вот какие результаты:

    PHP код:
    10/02/2017 в 15:28:39
    28 39 
    Часовой пояс не тот? Посчитай какая разница и прибавляй к переменным времени нужное кол-во и выводи.
    РАЗРАБОТЧИК ПРОЕКТОВ: ~ Elite Role Play ~ Washington Role Play ~ A Role Play ~ Pawno Studio[1-2] ~ New Samp Role Play ~ Samp Real State ~

    | SKYPE: MIK.KILLER |
  3. #3
    Пользователь

    Аватар для Lionely

    Статус: Оффлайн
    Регистрация:22.07.2013
    Сообщений:262
    Репутация:6 [+/-] 
    Часовой пояс как раз таки тот, покажите примером, как это сделать...
  4. #4
    Пользователь

    Аватар для Lionely

    Статус: Оффлайн
    Регистрация:22.07.2013
    Сообщений:262
    Репутация:6 [+/-] 
    Подыму.
  5. #5
    Пользователь

    Аватар для Pyce[X]

    Статус: Оффлайн
    Регистрация:08.04.2012
    Адрес:This information is hidden
    Сообщений:482
    Репутация:98 [+/-] 
    PHP код:
    printf("%s",date("%dd/%mm/%yyyy в %hh:%ii:%ss",AC_Unix_Timer-50400)); 
    Последний раз редактировалось Pyce[X]; 12.02.2017 в 21:21.
    Запомните раз и навсегда: помочь != "решите за меня"


    Помог? Нажми "Спасибо"
  6. 1 пользователь сказал cпасибо Pyce[X] за это полезное сообщение:

    Lionely (13.02.2017)

  7. #6
    Пользователь

    Аватар для Lionely

    Статус: Оффлайн
    Регистрация:22.07.2013
    Сообщений:262
    Репутация:6 [+/-] 
    PHP код:
    printf("%s",date("%dd/%mm/%yyyy в %hh:%ii:%ss",AC_Unix_Timer-50400)); 
    Благодарю за помощь, вопрос ещё один возник, подскажите пожалуйста.

    Я вот разрабатываю систему оплаты по дням, подскажите, верно ли я делаю?

    Производим запись на 2 часа, т.е через 2 часа сольется.
    PHP код:
    SBI[SBI_ID][sbOplata] = AC_Unix_Timer gettime()+60*120
    Смотрим в лог:

    PHP код:
    printf("Сольется %s",date("%dd/%mm/%yyyy в %hh:%ii:%ss",SBI[SBI_ID][sbOplata]-50400));
    Сольется 13/02/2017 в 03:35:58 
    Всё чётко работает, но вот теперь вопрос, как же правильно загружать теперь эту дату на оплату?
    И как правильно производить обновление ячейки в базе данных?
    И всегда ли мне придется писать "-50400"?
    Последний раз редактировалось Lionely; 13.02.2017 в 02:48.
  8. #7
    Пользователь

    Аватар для Pyce[X]

    Статус: Оффлайн
    Регистрация:08.04.2012
    Адрес:This information is hidden
    Сообщений:482
    Репутация:98 [+/-] 
    1.
    PHP код:
        if(gettime() >= SBI[SBI_ID][sbOplata])
        {
            
    //СисОплаты
        

    2.
    Также как и все запросы.

    3.
    PHP код:
    #define TIMEUTC 50400
    printf("Сольется %s",date("%dd/%mm/%yyyy в %hh:%ii:%ss",SBI[SBI_ID][sbOplata]-TIMEUTC)); 
    Запомните раз и навсегда: помочь != "решите за меня"


    Помог? Нажми "Спасибо"
  9. 1 пользователь сказал cпасибо Pyce[X] за это полезное сообщение:

    Lionely (15.02.2017)

  10. #8
    Пользователь

    Аватар для Lionely

    Статус: Оффлайн
    Регистрация:22.07.2013
    Сообщений:262
    Репутация:6 [+/-] 
    1.
    PHP код:
        if(gettime() >= SBI[SBI_ID][sbOplata])
        {
            
    //СисОплаты
        

    2.
    Также как и все запросы.

    3.
    PHP код:
    #define TIMEUTC 50400
    printf("Сольется %s",date("%dd/%mm/%yyyy в %hh:%ii:%ss",SBI[SBI_ID][sbOplata]-TIMEUTC)); 
    Такой вопрос, а как тогда добавлять к этой дате когда купил бизнес, ещё несколько дней?

    PHP код:
    SBI[biz_ids][sbOplata] += gettime() + days 86400
    Вроде бы делаю правильно, а дата сразу слетает...

    При покупке бизнеса:
    PHP код:
    Сольется 14/02/2017 в 17:00:05 
    Продлеваем дни:

    PHP код:
    Сольется 24/02/1928 в 23:32:37 
    Не понимаю, почему в покупке бизнеса я указал:

    PHP код:
    SBI[SBI_ID][sbOplata] = gettime() + 7200
    Должно и быть число 7200 в базе данных.
    Но оно пишет в базу данных
    PHP код:
     1487034185 
    А при продлении дней выдаёт:
    PHP код:
    -1320682890 
  11. #9
    Пользователь

    Аватар для Lionely

    Статус: Оффлайн
    Регистрация:22.07.2013
    Сообщений:262
    Репутация:6 [+/-] 
    Подыму.
  12. #10
    Пользователь

    Аватар для unreal.

    Статус: Оффлайн
    Регистрация:15.10.2015
    Адрес:Ростов-на-Дону
    Сообщений:387
    Репутация:334 [+/-] 
    смотри что ты делаешь:
    PHP код:
    SBI[biz_ids][sbOplata] += gettime() + days 86400;  //в данном случае ты делаешь  1487034185 +=gettime()+days*86400
    //допустим days равен 5
    //1487034185+1487034185+432000
    //наверно date не может определить примерно 2064 год 
    PHP код:
    SBI[biz_ids][sbOplata] += days 86400;//.. вот так сделай 
    Начал с Awake, закончил на overload.
    PORTFOLIO
    codPAWN
  13. 1 пользователь сказал cпасибо unreal. за это полезное сообщение:

    Lionely (15.02.2017)

Страница 1 из 2 12 Последняя
  • К странице:

Ваши права

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