php
  • datetime
  • strtotime
  • 2013-12-22 2 views 0 likes 
    0

    Я пытаюсь вычислить неделю с помощью следующего кода:PHP strtotim +7 дней вопрос

    $lastSun = strtotime('last Sunday'); 
    
        WriteLine("Last Sunday: ".date('Y.m.d',$lastSun)); 
        WriteLine(date('d.m.Y',$lastSun).' +1 days= '.date('d.m.Y',strtotime("+1 days last Sunday"))); 
        WriteLine(date('d.m.Y',$lastSun).' +2 days= '.date('d.m.Y',strtotime("+2 days last Sunday"))); 
        WriteLine(date('d.m.Y',$lastSun).' +3 days= '.date('d.m.Y',strtotime("+3 days last Sunday"))); 
        WriteLine(date('d.m.Y',$lastSun).' +4 days= '.date('d.m.Y',strtotime("+4 days last Sunday"))); 
        WriteLine(date('d.m.Y',$lastSun).' +5 days= '.date('d.m.Y',strtotime("+5 days last Sunday"))); 
        WriteLine(date('d.m.Y',$lastSun).' +6 days= '.date('d.m.Y',strtotime("+6 days last Sunday"))); 
        WriteLine(date('d.m.Y',$lastSun).' +7 days= '.date('d.m.Y',strtotime("+7 days last Sunday"))); 
    

    Но я своего рода результат удивительно, при добавлении 7 дней до даты основе:

    Last Sunday: 2013.12.16 
    
    16.12.2013 +1 days= 16.12.2013 
    16.12.2013 +2 days= 17.12.2013 
    16.12.2013 +3 days= 18.12.2013 
    16.12.2013 +4 days= 19.12.2013 
    16.12.2013 +5 days= 20.12.2013 
    16.12.2013 +6 days= 21.12.2013 
    16.12.2013 +7 days= 29.12.2013 
    

    Я попробовал это также с жестко запрограммированной датой вместо «последнего воскресенья», но результат не изменился, добавив 14 дней вместо 7. Так что же я пропустил или сделал wrogn с помощью функции strtotime()?

    ответ

    3

    попробовать этот способ,

    $sunday=strtotime("last Sunday"); 
    $date = strtotime("+7 day", $sunday); 
    
    +0

    , что один работает. У вас есть объяснение, почему есть эти различия? – Scudi

    1

    Вы можете указать strtotime параметр, из которого он вычисляет данную строку.

    strtotime("+7 days", $lastSun) 
    
    Смежные вопросы