diff --git a/homeassistant/components/input_datetime/__init__.py b/homeassistant/components/input_datetime/__init__.py
index dcc2865acadcbd8564417b65ffcaa6b9cb8f7027..428ffccb7c1553af840f57ec301c5557be37f5c8 100644
--- a/homeassistant/components/input_datetime/__init__.py
+++ b/homeassistant/components/input_datetime/__init__.py
@@ -385,7 +385,7 @@ class InputDatetime(collection.CollectionEntity, RestoreEntity):
     @callback
     def async_set_datetime(self, date=None, time=None, datetime=None, timestamp=None):
         """Set a new date / time."""
-        if timestamp:
+        if timestamp is not None:
             datetime = dt_util.as_local(dt_util.utc_from_timestamp(timestamp))
 
         if datetime:
diff --git a/tests/components/input_datetime/test_init.py b/tests/components/input_datetime/test_init.py
index 411f084d39a96880bd525f4543a396a397f80ecc..7d491f0cdcdb688edd9d8981b7930005205e1780 100644
--- a/tests/components/input_datetime/test_init.py
+++ b/tests/components/input_datetime/test_init.py
@@ -217,6 +217,34 @@ async def test_set_datetime_3(hass: HomeAssistant) -> None:
     assert state.attributes["timestamp"] == dt_obj.timestamp()
 
 
+async def test_set_datetime_4(hass: HomeAssistant) -> None:
+    """Test set_datetime method using timestamp 0."""
+    await async_setup_component(
+        hass, DOMAIN, {DOMAIN: {"test_datetime": {"has_time": True, "has_date": True}}}
+    )
+
+    entity_id = "input_datetime.test_datetime"
+
+    dt_obj = datetime.datetime(
+        1969, 12, 31, 16, 00, 00, tzinfo=dt_util.get_time_zone(hass.config.time_zone)
+    )
+
+    await async_set_timestamp(hass, entity_id, 0)
+
+    state = hass.states.get(entity_id)
+    assert state.state == dt_obj.strftime(FORMAT_DATETIME)
+    assert state.attributes["has_time"]
+    assert state.attributes["has_date"]
+
+    assert state.attributes["year"] == 1969
+    assert state.attributes["month"] == 12
+    assert state.attributes["day"] == 31
+    assert state.attributes["hour"] == 16
+    assert state.attributes["minute"] == 00
+    assert state.attributes["second"] == 0
+    assert state.attributes["timestamp"] == 0
+
+
 async def test_set_datetime_time(hass: HomeAssistant) -> None:
     """Test set_datetime method with only time."""
     await async_setup_component(