diff --git a/date_api/date_api.module b/date_api/date_api.module
index d85a8a5..c99aff8 100644
--- a/date_api/date_api.module
+++ b/date_api/date_api.module
@@ -2042,8 +2042,10 @@ function date_pad($value, $size = 2) {
 function date_has_time($granularity) {
   if (!is_array($granularity)) {
     $granularity = array();
+    return FALSE;
   }
-  return (bool) count(array_intersect($granularity, array('hour', 'minute', 'second')));
+
+  return isset($granularity['hour']) || isset($granularity['minute']) || isset($granularity['second']);
 }
 
 /**
@@ -2058,8 +2060,10 @@ function date_has_time($granularity) {
 function date_has_date($granularity) {
   if (!is_array($granularity)) {
     $granularity = array();
+    return FALSE;
   }
-  return (bool) count(array_intersect($granularity, array('year', 'month', 'day')));
+
+  return isset($granularity['year']) || isset($granularity['month']) || isset($granularity['day']);
 }
 
 /**
