diff --git a/src/Symfony/Component/Cache/Adapter/ChainAdapter.php b/src/Symfony/Component/Cache/Adapter/ChainAdapter.php index 4c086c3d55..a045a5d5a1 100644 --- a/src/Symfony/Component/Cache/Adapter/ChainAdapter.php +++ b/src/Symfony/Component/Cache/Adapter/ChainAdapter.php @@ -74,7 +74,11 @@ class ChainAdapter implements AdapterInterface, CacheInterface, PruneableInterfa $item->metadata = $item->newMetadata = $sourceItem->metadata = $sourceMetadata; if (isset($item->metadata[CacheItem::METADATA_EXPIRY])) { - $item->expiresAt(\DateTime::createFromFormat('U.u', $item->metadata[CacheItem::METADATA_EXPIRY])); + if (\is_int($expiry = $item->metadata[CacheItem::METADATA_EXPIRY])) { + $item->expiresAt(\DateTime::createFromFormat('U', $expiry)); + } else { + $item->expiresAt(\DateTime::createFromFormat('U.u', sprintf('%.3F', $expiry))); + } } elseif (0 < $defaultLifetime) { $item->expiresAfter($defaultLifetime); }