Fix Rsx_DateTime_Cast to handle microsecond timestamps after save()

Fix sidebar not displaying: use custom breakpoint classes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2026-01-06 07:49:46 +00:00
parent 71d042ff3c
commit 475fc333ab

View File

@@ -46,11 +46,15 @@ class Rsx_DateTime_Cast implements CastsAttributes
// MySQL format "YYYY-MM-DD HH:MM:SS" - convert to ISO
if (is_string($value) && preg_match('/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $value)) {
// Database stores in UTC, parse as UTC
$carbon = Carbon::createFromFormat(
strlen($value) > 19 ? 'Y-m-d H:i:s.v' : 'Y-m-d H:i:s',
$value,
'UTC'
);
// Handle fractional seconds: truncate to 3 digits for .v format (milliseconds)
// This handles microseconds (6 digits) from Laravel/Carbon after save()
if (strlen($value) > 19) {
$value = preg_replace('/(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\.(\d{3})\d*/', '$1.$2', $value);
$format = 'Y-m-d H:i:s.v';
} else {
$format = 'Y-m-d H:i:s';
}
$carbon = Carbon::createFromFormat($format, $value, 'UTC');
return $carbon->format('Y-m-d\TH:i:s.v\Z');
}