Я хочу найти конкретный номер недели с определенной даты начала. Например, $ date перетаскивается из базы данных (т.е. 07.08.2011)

Я хочу, чтобы это была дата начала, так что теперь с этой даты будет 3 неделя. Это код, который у меня есть, но он показывает только версию ISO:

    $date = strtotime("".$row['start_date'].""); 
$weekNumber = date("W", $date); 
print $weekNumber;

Я гуглил последние два часа, но, похоже, не нашел ничего, что могло бы решить эту проблему! любая помощь была бы большой спасибо!

2
meohmy 29 Авг 2011 в 01:02

2 ответа

Лучший ответ

Получите разницу между текущим моментом и датой начала, а затем разделите на семь дней (7 * 86400 секунд).

<?php
    $startdate = strtotime("".$row['start_date'].""); 
    $enddate = time();

    $time_passed = $enddate - $startdate;

    // if the first day after startdate is in "Week 1" according to your count
    $weekcount_1 = ceil ( $time_passed / (86400*7));

    // if the first day after startdate is in "Week 0" according to your count
    $weekcount_0 = floor ( $time_passed / (86400*7));

?>
1
ty812 28 Авг 2011 в 21:16

Вы можете перетащить номер недели из базы данных вместе с основной датой. Например,

"SELECT start_date, (WEEK(NOW()) - WEEK(start_date)) as desired_week as week from table";
0
Andrej Ludinovskov 28 Авг 2011 в 21:24