diff --git a/src/UsgsAstroFrameSensorModel.cpp b/src/UsgsAstroFrameSensorModel.cpp
index 469e8256e9f5b71a15ba25264bf7f30766cf8365..6bce4fe601d62cf00c7a7ff173b20b4653b176ab 100644
--- a/src/UsgsAstroFrameSensorModel.cpp
+++ b/src/UsgsAstroFrameSensorModel.cpp
@@ -674,9 +674,9 @@ std::string UsgsAstroFrameSensorModel::getReferenceDateAndTime() const {
   t.tm_mday = 1;
   time_t timeSinceEpoch = mktime(&t);
   time_t finalTime = ephemTime + timeSinceEpoch;
-  char buffer[16];
-  strftime(buffer, 16, "%Y%m%dT%H%M%S", localtime(&finalTime));
-  buffer[15] = '\0';
+  char buffer[22];
+  strftime(buffer, 22, "%Y-%m-%dT%H:%M:%SZ", localtime(&finalTime));
+  buffer[21] = '\0';
 
   return buffer;
 }
diff --git a/src/UsgsAstroLsSensorModel.cpp b/src/UsgsAstroLsSensorModel.cpp
index 688d19dd4ed1253d67a2dc999f55cef787e0f009..340d5502ee8ce3191c67e4b8fa4d6d33b0e96634 100644
--- a/src/UsgsAstroLsSensorModel.cpp
+++ b/src/UsgsAstroLsSensorModel.cpp
@@ -1184,9 +1184,9 @@ std::string UsgsAstroLsSensorModel::getReferenceDateAndTime() const {
   t.tm_mday = 1;
   time_t timeSinceEpoch = mktime(&t);
   time_t finalTime = ephemTime + timeSinceEpoch;
-  char buffer[16];
-  strftime(buffer, 16, "%Y%m%dT%H%M%S", localtime(&finalTime));
-  buffer[15] = '\0';
+  char buffer[22];
+  strftime(buffer, 22, "%Y-%m-%dT%H:%M:%SZ", localtime(&finalTime));
+  buffer[21] = '\0';
 
   return buffer;
 }
diff --git a/src/UsgsAstroSarSensorModel.cpp b/src/UsgsAstroSarSensorModel.cpp
index f94117de07e9675ed130f49fb479f8a5b8287b42..6decb3ee9c45176b3e269aedd8ed2a513ec09f1e 100644
--- a/src/UsgsAstroSarSensorModel.cpp
+++ b/src/UsgsAstroSarSensorModel.cpp
@@ -1045,9 +1045,9 @@ string UsgsAstroSarSensorModel::getReferenceDateAndTime() const {
   t.tm_mday = 1;
   time_t timeSinceEpoch = mktime(&t);
   time_t finalTime = ephemTime + timeSinceEpoch;
-  char buffer[16];
-  strftime(buffer, 16, "%Y%m%dT%H%M%S", localtime(&finalTime));
-  buffer[15] = '\0';
+  char buffer[22];
+  strftime(buffer, 22, "%Y-%m-%dT%H:%M:%SZ", localtime(&finalTime));
+  buffer[21] = '\0';
 
   return buffer;
 }
diff --git a/tests/FrameCameraTests.cpp b/tests/FrameCameraTests.cpp
index f367585d178447939abef976b067b13c59474873..327fb05686185244967845be08f8f692d2586959 100644
--- a/tests/FrameCameraTests.cpp
+++ b/tests/FrameCameraTests.cpp
@@ -736,5 +736,5 @@ TEST_F(FrameSensorModelLogging, losEllipsoidIntersect) {
 
 TEST_F(OrbitalFrameSensorModel, ReferenceDateTime) {
   std::string date = sensorModel->getReferenceDateAndTime();
-  EXPECT_EQ(date, "20000101T001640");
+  EXPECT_EQ(date, "2000-01-01T00:16:40Z");
 }
diff --git a/tests/LineScanCameraTests.cpp b/tests/LineScanCameraTests.cpp
index a4e43529f154881fd3cbcda757c51210d21770aa..c9165c93ca53c7cfc363fee337ded8dc4528d20d 100644
--- a/tests/LineScanCameraTests.cpp
+++ b/tests/LineScanCameraTests.cpp
@@ -241,7 +241,7 @@ TEST_F(OrbitalLineScanSensorModel, InversionReallyHigh) {
 
 TEST_F(OrbitalLineScanSensorModel, ReferenceDateTime) {
   std::string date = sensorModel->getReferenceDateAndTime();
-  EXPECT_EQ(date, "20000101T001639");
+  EXPECT_EQ(date, "2000-01-01T00:16:39Z");
 }
 
 TEST_F(TwoLineScanSensorModels, CrossCovariance) {
diff --git a/tests/SarTests.cpp b/tests/SarTests.cpp
index 5e843bbd3e69d1e60306f771c967302da17546ef..78e53d8907e1d9bfdd35a113eb9e243d0e82e729 100644
--- a/tests/SarTests.cpp
+++ b/tests/SarTests.cpp
@@ -131,3 +131,8 @@ TEST_F(SarSensorModel, adjustedPositionVelocity) {
   EXPECT_NEAR(adjVelocity.y, sensorVelocity.y + adjustments[4], 1e-8);
   EXPECT_NEAR(adjVelocity.z, sensorVelocity.z + adjustments[5], 1e-2);
 }
+
+TEST_F(SarSensorModel, ReferenceDateTime) {
+  std::string date = sensorModel->getReferenceDateAndTime();
+  EXPECT_EQ(date, "2000-01-01T00:00:04Z");
+}