Skip to content

Commit 3d34db3

Browse files
committed
Fixed #197
1 parent 5f3639b commit 3d34db3

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/DTO/General/UserManagement/GetUsers/OutOfOffice.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,24 @@ public static function fromJson(array $data): self
1212
{
1313
if ($startDateTime = Arr::get($data, 'StartDateTime')) {
1414
$startDateTime = Str::of($startDateTime)->after('(')->before(')');
15-
$startDateTime = Carbon::createFromTimestamp($startDateTime);
15+
// Extract milliseconds part (ignore optional timezone offset like +0000)
16+
$milliseconds = (int) (string) $startDateTime;
17+
$startDateTime = Carbon::createFromTimestampMs($milliseconds, 'UTC');
1618
}
1719

1820
if ($endDateTime = Arr::get($data, 'EndDateTime')) {
1921
$endDateTime = Str::of($endDateTime)->after('(')->before(')');
20-
$endDateTime = Carbon::createFromTimestamp($endDateTime);
22+
// Extract milliseconds part (ignore optional timezone offset like +0000)
23+
$milliseconds = (int) (string) $endDateTime;
24+
$endDateTime = Carbon::createFromTimestampMs($milliseconds, 'UTC');
2125
}
2226

2327
return new self(
2428
isOutOfOffice: Arr::get($data, 'IsOutOfOffice'),
2529
startDateTime: $startDateTime,
2630
startDateTimeSpecified: Arr::get($data, 'StartDateTimeSpecified'),
2731
endDateTime: $endDateTime,
28-
endDateTimeSpecified: Arr::get($data, 'EndDateTimeSpecified'),
32+
endDateTimeSpecified: Arr::get($data, key: 'EndDateTimeSpecified'),
2933
);
3034
}
3135

0 commit comments

Comments
 (0)