fix: emit export pickup times as clock readings without an offset
This commit is contained in:
1 parent
6c700ea18b
commit
ede8fd840a
6 files changed
+136
-27
No files matched your search
@@ -79,6 +79,9 @@ trait TypeConversionTrait
|
||||
* This method is used primarily to parse pickup-times since data is
|
||||
* either provided with date and time or time only. In this case a
|
||||
* date has to be provided which defaults to a travel's start date.
|
||||
*
|
||||
* Both shapes are read in the default date's zone, so a caller that needs plain clock
|
||||
* readings can pass a UTC date and no daylight saving gap shifts the time.
|
||||
*/
|
||||
protected function stringToDateTimeFuzzy(?string $string, \DateTimeImmutable $defaultDate): ?\DateTimeImmutable
|
||||
{
|
||||
@@ -89,12 +92,12 @@ trait TypeConversionTrait
|
||||
try {
|
||||
if (1 === preg_match('/^\d{2}:\d{2}$/', $string)) {
|
||||
// time only provided
|
||||
$dateTime = Carbon::createFromFormat('H:i', $string);
|
||||
$dateTime = Carbon::createFromFormat('H:i', $string, $defaultDate->getTimezone());
|
||||
// assign default date
|
||||
$dateTime->setDateFrom($defaultDate);
|
||||
} else {
|
||||
// date and time provided
|
||||
$dateTime = Carbon::createFromFormat('d.m.Y H:i', substr($string, 0, 16));
|
||||
$dateTime = Carbon::createFromFormat('d.m.Y H:i', substr($string, 0, 16), $defaultDate->getTimezone());
|
||||
}
|
||||
|
||||
return $dateTime->toDateTimeImmutable();
|
||||
|
||||
Reference in new issue
Block a user