public static function CalendarHelper::weekInfo in Calendar 8.2
Helper function to return start- and enddate for week
Parameters
string $date_argument: The date argument string
string $id: The optional calendar argument plugin
Return value
array An array containing startweekdate and endweekdate
Throws
\Exception
2 calls to CalendarHelper::weekInfo()
- CalendarHelper::month in src/
CalendarHelper.php - Returns an array for month.
- CalendarHelper::week in src/
CalendarHelper.php - Returns an array for week.
File
- src/
CalendarHelper.php, line 282
Class
- CalendarHelper
- Class CalendarHelper.
Namespace
Drupal\calendarCode
public static function weekInfo($date_argument) {
$week = NULL;
$startweekdate = new DrupalDateTime();
$year = (int) substr($date_argument, 0, 4);
$week = (int) substr($date_argument, 4);
$startweekdate
->setISOdate($year, $week);
// Get first day of week from Drupal config and move day by diff
$first_day_week = Drupal::config('system.date')
->get('first_day');
if ($first_day_week === 0) {
$week_start_day = self::WeekDays()[$first_day_week]
->getUntranslatedString();
$startweekdate
->modify($week_start_day . ' previous week');
}
else {
$week_start_day = self::WeekDays()[$first_day_week]
->getUntranslatedString();
$startweekdate
->modify($week_start_day . ' this week');
}
$endweekdate = clone $startweekdate;
$endweekdate
->add(new \DateInterval('P6DT23H59M59S'));
return [
'startweekdate' => $startweekdate,
'endweekdate' => $endweekdate,
'weekno' => $week,
];
}