diff --git a/lib/public/share.php b/lib/public/share.php
index 708adba423783b0ee46171c4deedd5a296a88fad..86b6cfa46ad0c42f2b75c15325cf06192361edd9 100644
--- a/lib/public/share.php
+++ b/lib/public/share.php
@@ -844,7 +844,8 @@ class Share {
 	protected static function expireItem(array $item) {
 		if (!empty($item['expiration'])) {
 			$now = new \DateTime();
-			$expirationDate = new \DateTime($item['expiration'], new \DateTimeZone('UTC'));
+			$expirationDate = \Doctrine\DBAL\Types\Type::getType('datetime')
+				->convertToPhpValue($item['expiration'], \OC_DB::getConnection()->getDatabasePlatform());
 			if ($now > $expirationDate) {
 				self::unshareItem($item);
 				return true;