Any thoughts on how to parse week of year and consider for abnormalities like this year's 12/31/18 actually being week 1 of 2019. The reason is someone wrote a scheduler that stores dates like so: 2017-W37-1
(year, the letter W, actual week number and actual day number of the week). The way it was written, it has already stored over three hundred rows as 2018-W53
, which does not even exist this year. I'm working with PHP/Laravel 5.4 and I've started a weekOfYear
method to filter all incoming dates from the front end. Flow is front end has a date picker, sends a date to the index, store and destroy methods and interacts with the schedules table from there, which has a "date" column in the above format (actually a string obvs and not date). There is no fallback date, so it just pulls all the schedules for a week based on that one string. My method so far:
public function weekOfYear($date)
{
$date = Carbon::parse($date);
$formattedDate = $date->year.'-W'.$date->weekOfYear;
if ($date->format('Y-m-d') === '2018-12-31') {
$formattedDate = '2019-W01';
}
return $formattedDate;
}
The day number gets tagged on in further methods, but I'll probably add that here as well. This works for 2018, but I would rather parse the date in a more flexible way, despite the fact that 2019 is actually more straightforward.
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire