diff --git a/core/modules/datetime/config/schema/datetime.views.schema.yml b/core/modules/datetime/config/schema/datetime.views.schema.yml
new file mode 100644
index 0000000..257ea3b
--- /dev/null
+++ b/core/modules/datetime/config/schema/datetime.views.schema.yml
@@ -0,0 +1,32 @@
+views.argument.datetime:
+  type: views.argument.date
+
+views.argument.datetime_day:
+  type: views.argument.datetime
+
+views.argument.datetime_full_date:
+  type: views.argument.datetime
+
+views.argument.datetime_month:
+  type: views.argument.datetime
+
+views.argument.datetime_week:
+  type: views.argument.datetime
+
+views.argument.datetime_year:
+  type: views.argument.datetime
+
+views.argument.datetime_year_month:
+  type: views.argument.datetime
+
+views.filter.datetime:
+  type: views.filter.date
+
+views.filter_value.datetime:
+  type: views.filter_value.date
+
+views.sort.datetime:
+  type: views.sort.date
+
+views.sort_expose.datetime:
+  type: views.sort_expose.date
diff --git a/core/modules/datetime/tests/modules/datetime_test/test_views/views.view.test_sort_datetime.yml b/core/modules/datetime/tests/modules/datetime_test/test_views/views.view.test_sort_datetime.yml
index de80830..59bcbd9 100644
--- a/core/modules/datetime/tests/modules/datetime_test/test_views/views.view.test_sort_datetime.yml
+++ b/core/modules/datetime/tests/modules/datetime_test/test_views/views.view.test_sort_datetime.yml
@@ -33,6 +33,7 @@ display:
           relationship: none
           table: node__field_date
           order: DESC
+          granularity: second
           plugin_id: datetime
         id:
           field: nid
diff --git a/core/modules/datetime/tests/src/Kernel/Views/DateTimeSchemaTest.php b/core/modules/datetime/tests/src/Kernel/Views/DateTimeSchemaTest.php
new file mode 100644
index 0000000..ddf17b2
--- /dev/null
+++ b/core/modules/datetime/tests/src/Kernel/Views/DateTimeSchemaTest.php
@@ -0,0 +1,79 @@
+<?php
+
+namespace Drupal\Tests\datetime\Kernel\Views;
+
+use Drupal\Tests\SchemaCheckTestTrait;
+use Drupal\views\Views;
+
+/**
+ * Tests the Drupal\datetime\Plugin\views schemas.
+ *
+ * @group datetime
+ */
+class DateTimeSchemaTest extends DateTimeHandlerTestBase {
+
+  use SchemaCheckTestTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $testViews = ['test_argument_datetime','test_filter_datetime','test_sort_datetime'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp($import_test_views = TRUE) {
+    // This shouldn't be needed, but I can't get this to fail!?!
+    $this->strictConfigSchema = TRUE;
+
+    parent::setUp($import_test_views);
+  }
+
+  /**
+   * Test argument plugin schema.
+   */
+  public function testArgumentSchema() {
+    $field = static::$field_name . '_value';
+    $view = Views::getView('test_argument_datetime');
+
+    $view->initHandlers();
+    $view->setDisplay('default');
+    $view->save();
+    $view->destroy();
+  }
+
+  /**
+   * Test argument plugin schema.
+   */
+  public function testFilterSchema() {
+    $field = static::$field_name . '_value';
+    $view = Views::getView('test_filter_datetime');
+
+    $view->initHandlers();
+
+    $view->save();
+    $view->destroy();
+  }
+
+  /**
+   * Test argument plugin schema.
+   */
+  public function testSortSchema() {
+    $field = static::$field_name . '_value';
+    $view = Views::getView('test_sort_datetime');
+
+    $view->initHandlers();
+
+    // This should be an invalid option.
+    $view->sort[$field]->options['foo'] = 'bar';
+
+    // So this should barf.
+    $view->save();
+
+    // And this should barf some more.
+    $this->assertConfigSchemaByName('views.view.test_sort_datetime');
+
+    $view->destroy();
+  }
+
+}
diff --git a/core/modules/views/config/schema/views.filter.schema.yml b/core/modules/views/config/schema/views.filter.schema.yml
index 18c13b6..cdaa364 100644
--- a/core/modules/views/config/schema/views.filter.schema.yml
+++ b/core/modules/views/config/schema/views.filter.schema.yml
@@ -154,8 +154,8 @@ views.filter_value.date:
       type: string
       label: 'Type'
 
-views.filter_value.datetime:
-  type: views.filter_value.numeric
+views.filter.date:
+  type: views.filter.numeric
   label: 'Date'
   mapping:
     type:
