Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / strtotime / 8 сообщений из 8, страница 1 из 1
13.05.2018, 06:09
    #39643763
Zhenek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
strtotime
Добрый день, есть простой код:

Код: php
1.
2.
3.
4.
5.
if(date('D')=='Sun'){ 
    $sw = strtotime('Sun this week'); //start week
    $ew = strtotime('Sat next week'); // end week  
    echo  date('d.m.Y',$sw)." - ".date('d.m.Y',$ew);
    }



Почему то сегодня (именно сегодня, в ВС) этот код выдает следующее:

13.05.2018 - 14.05.2018

А если преобразовать дату через unixtimestump (сайт) то 13.05.2018 - 13.05.2018

В обычные дни работает корректно. Это мой косяк или PHP?

Общий код выглядит вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
if(date('D')=='Sat'){
    $sw = strtotime('Sun last week'); //start week
    $ew = strtotime('Sat this week'); // end week    
    }
    if(date('D')=='Sun'){ 
    $sw = strtotime('Sun this week'); //start week
    $ew = strtotime('Sat next week'); // end week  
    echo $ew;
    }
    if(date('D')!='Sat' AND date('D')!='Sun'){
    $sw = strtotime('Sun last week'); //start week
    $ew = strtotime('Sat this week'); // end week    
    }



В статистике нужен отчет за период Воскресенье-Суббота
...
Рейтинг: 0 / 0
13.05.2018, 10:38
    #39643780
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
strtotime
ZhenekА если преобразовать дату через unixtimestump (сайт) то 13.05.2018 - 13.05.2018И где в приведенном коде обозначилось оное преобразование?
...
Рейтинг: 0 / 0
13.05.2018, 17:11
    #39643910
Zhenek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
strtotime
vkle, его тут нет. У меня и у unixtimestamp.com разные часовые пояса. у меня стоит пояс -7 от москвы. Просто тестировал как раз у меня уже 00+, а там -7
Тот код, что я предоставил это весь код. Дальше только выборка с БД.

Вопрос то в другом... Sun и Sat это воскр и суббота. Но никак не понедельник. т.е. задано четкое условие. почему возвращает Понедельник.

Ставлю другой пояс, и вуаля, показывает 13 и 19 число.
...
Рейтинг: 0 / 0
13.05.2018, 19:41
    #39643986
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
strtotime
Может какой-то баг пхп?
У меня не воспроизводится эта проблема, пробовал разные пояса ставить.
...
Рейтинг: 0 / 0
13.05.2018, 22:56
    #39644037
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
strtotime
HettМожет какой-то баг пхп?
версия PHP ?
...
Рейтинг: 0 / 0
13.05.2018, 23:44
    #39644065
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
strtotime
7.2.4
...
Рейтинг: 0 / 0
14.05.2018, 01:12
    #39644078
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
strtotime
HettМожет какой-то баг пхп?Похоже на то. Или забили на нее разработчики. В описании функции http://php.net/manual/ru/function.strtotime.php сказано буквально "Не рекомендуется использовать эту функцию для математических операций. Целесообразно использовать DateTime::add() и DateTime::sub() начиная с PHP 5.3, или DateTime::modify() в PHP 5.2.". Собственно, в DateTime::modify() синтаксис задания метки времени идентичен.
...
Рейтинг: 0 / 0
14.05.2018, 02:13
    #39644090
Zhenek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
strtotime
5.6.33
Сейчас наступил Понедельник, и со стандартным поясом показывает 13.05.18-19.05.18

авторУ меня не воспроизводится эта проблема, пробовал разные пояса ставить.
У меня первый раз такое, в предыдущие воскресенья такого не было. PHP с репозитория ISP ставил.
К сожалению не подумал проверить на более высокой версии php

Буду переходить на DateTime потихоньку.
Всем спасибо.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / strtotime / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]