diff --git a/http/utility.hpp b/http/utility.hpp
index 033755e..374caea 100644
--- a/http/utility.hpp
+++ b/http/utility.hpp
@@ -572,29 +572,35 @@
     return true;
 }
 
-/**
- * Method returns Date Time information in the ISO extended format
- *
- * @param[in] timestamp in second since the Epoch; it can be negative
- *
- * @return Date Time in the ISO extended format
- */
-inline std::string getDateTime(boost::posix_time::seconds secondsSinceEpoch)
+namespace details
+{
+inline std::string getDateTime(boost::posix_time::milliseconds timeSinceEpoch)
 {
     boost::posix_time::ptime epoch(boost::gregorian::date(1970, 1, 1));
-    boost::posix_time::ptime time = epoch + secondsSinceEpoch;
+    boost::posix_time::ptime time = epoch + timeSinceEpoch;
     // append zero offset to the end according to the Redfish spec for Date-Time
     return boost::posix_time::to_iso_extended_string(time) + "+00:00";
 }
+} // namespace details
 
 inline std::string getDateTimeUint(uint64_t secondsSinceEpoch)
 {
-    return getDateTime(boost::posix_time::seconds(secondsSinceEpoch));
+    boost::posix_time::seconds boostSeconds(secondsSinceEpoch);
+    return details::getDateTime(
+        boost::posix_time::milliseconds(boostSeconds.total_milliseconds()));
+}
+
+inline std::string getDateTimeUintMs(uint64_t millisSecondsSinceEpoch)
+{
+    return details::getDateTime(
+        boost::posix_time::milliseconds(millisSecondsSinceEpoch));
 }
 
 inline std::string getDateTimeStdtime(std::time_t secondsSinceEpoch)
 {
-    return getDateTime(boost::posix_time::seconds(secondsSinceEpoch));
+    boost::posix_time::ptime time =
+        boost::posix_time::from_time_t(secondsSinceEpoch);
+    return boost::posix_time::to_iso_extended_string(time) + "+00:00";
 }
 
 /**
diff --git a/redfish-core/lib/metric_report.hpp b/redfish-core/lib/metric_report.hpp
index b7ebb99..f933cd4 100644
--- a/redfish-core/lib/metric_report.hpp
+++ b/redfish-core/lib/metric_report.hpp
@@ -28,7 +28,7 @@
             {"MetricId", id},
             {"MetricProperty", metadata},
             {"MetricValue", std::to_string(sensorValue)},
-            {"Timestamp", crow::utility::getDateTimeUint(timestamp)},
+            {"Timestamp", crow::utility::getDateTimeUintMs(timestamp)},
         });
     }
 
@@ -46,7 +46,7 @@
         telemetry::metricReportDefinitionUri + std::string("/") + id;
 
     const auto& [timestamp, readings] = timestampReadings;
-    json["Timestamp"] = crow::utility::getDateTimeUint(timestamp);
+    json["Timestamp"] = crow::utility::getDateTimeUintMs(timestamp);
     json["MetricValues"] = toMetricValues(readings);
     return true;
 }
