code: def test_fillna_datetime_columns(self):
      # GH#7095
      df = DataFrame(
          {
              "A": [-1, -2, np.nan],
              "B": date_range("20130101", periods=3),
              "C": ["foo", "bar", None],
              "D": ["foo2", "bar2", None],
          },
          index=date_range("20130110", periods=3),
      )
      result = df.fillna("?")
      expected = DataFrame(
          {
              "A": [-1, -2, "?"],
              "B": date_range("20130101", periods=3),
              "C": ["foo", "bar", "?"],
              "D": ["foo2", "bar2", "?"],
          },
          index=date_range("20130110", periods=3),
      )
      tm.assert_frame_equal(result, expected)
  
      df = DataFrame(
          {
              "A": [-1, -2, np.nan],
              "B": [
                  Timestamp("2013-01-01"),
                  Timestamp("2013-01-02"),
                  NaT,
              ],
              "C": ["foo", "bar", None],
              "D": ["foo2", "bar2", None],
          },
          index=date_range("20130110", periods=3),
      )
      result = df.fillna("?")
      expected = DataFrame(
          {
              "A": [-1, -2, "?"],
              "B": [
                  Timestamp("2013-01-01"),
                  Timestamp("2013-01-02"),
                  "?",
              ],
              "C": ["foo", "bar", "?"],
              "D": ["foo2", "bar2", "?"],
          },
          index=date_range("20130110", periods=3),
      )
      tm.assert_frame_equal(result, expected)
  
imports: import numpy
  import pytest
  from pandas._config import using_pyarrow_string_dtype
  from pandas import Categorical, DataFrame, DatetimeIndex, NaT, PeriodIndex, Series, TimedeltaIndex, Timestamp, date_range, to_datetime
  import pandas._testing
  from pandas.tests.frame.common import _check_mixed_float
label_desc: Use image node_id 20 for calling the TestFillNA obj's underlying member method code with example usage: obj.test_fillna_datetime_columns() without return types