- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
function define_week_start_and_end($what)
{
$time_stamp = time();
$cur_day = getdate($time_stamp);
$month_day = $cur_day['mday'];
$month_num = $cur_day['mon'];
$year_num = $cur_day['year'];
$day_num = $cur_day['wday'];
if ($day_num!=0)
{
$week_start = $month_day-$day_num+1;
}
else
{
$week_start = $month_day-6;
}
$week_end = $week_start+6;
$week_start_month_num = $month_num;
$week_end_month_num = $month_num;
$week_start_year_num = $year_num;
$week_end_year_num = $year_num;
if ($week_start < 1)
{
if ($month_num == 1)
{
$week_start_year_num--;
$week_start_month_num = 12;
}
else
{
$week_start_month_num--;
}
$last_day_in_previous_month = 31;
while (!checkdate ($week_start_month_num, $last_day_in_previous_month, $week_start_year_num))
{
$last_day_in_previous_month--;
}
$week_start += $last_day_in_previous_month;
}
$last_day_in_month = 31;
while (!checkdate ($week_start_month_num, $last_day_in_month, $week_start_year_num))
{
$last_day_in_month--;
}
if ($week_end > $last_day_in_month)
{
if ($month_num == 12)
{
$week_end_year_num++;
$week_end_month_num = 1;
}
else
{
$week_end_month_num++;
}
$week_end = $week_end-$last_day_in_month;
}
$week_start_time_stamp = gmmktime (0, 0, 0, $week_start_month_num, $week_start, $week_start_year_num);
$week_end_time_stamp = gmmktime (23, 59, 59, $week_end_month_num, $week_end, $week_end_year_num);
if ($what == "start")
{
return $week_start_time_stamp;
}
else if ($what == "end")
{
return $week_end_time_stamp;
}
return NULL;
}