diff --git a/testing/fuzzers/BUILD.gn b/testing/fuzzers/BUILD.gn
index ccee96b..1451467 100644
--- a/testing/fuzzers/BUILD.gn
+++ b/testing/fuzzers/BUILD.gn
@@ -39,7 +39,10 @@
     ":pdfium_fuzzer_src",
   ]
   if (pdf_enable_v8) {
-    deps += [ ":pdf_cjs_util_fuzzer_src" ]
+    deps += [
+      ":pdf_cjs_util_fuzzer_src",
+      ":pdf_fx_date_helpers_fuzzer_src",
+    ]
   }
   if (pdf_enable_xfa) {
     deps += [
@@ -128,6 +131,14 @@
       "../../fxjs",
     ]
   }
+  pdfium_fuzzer("pdf_fx_date_helpers_fuzzer_src") {
+    sources = [
+      "pdf_fx_date_helpers_fuzzer.cc",
+    ]
+    deps = [
+      "../../fxjs",
+    ]
+  }
 }
 
 if (pdf_enable_xfa) {
diff --git a/testing/fuzzers/pdf_fx_date_helpers_fuzzer.cc b/testing/fuzzers/pdf_fx_date_helpers_fuzzer.cc
new file mode 100644
index 0000000..ff81c47
--- /dev/null
+++ b/testing/fuzzers/pdf_fx_date_helpers_fuzzer.cc
@@ -0,0 +1,23 @@
+// Copyright 2018 The PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <string>
+
+#include "core/fxcrt/widestring.h"
+#include "fxjs/fx_date_helpers.h"
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+  auto* short_data = reinterpret_cast<const unsigned short*>(data);
+  size_t short_size = size / sizeof(unsigned short);
+  if (short_size > 2) {
+    double ignore;
+    size_t short_len1 = short_size / 2;
+    size_t short_len2 = short_size - short_len1;
+    WideString input1 = WideString::FromUTF16LE(short_data, short_len1);
+    WideString input2 =
+        WideString::FromUTF16LE(short_data + short_len1, short_len2);
+    FX_ParseDateUsingFormat(input1, input2, &ignore);
+  }
+  return 0;
+}
