diff --git a/bmc_state_manager.hpp b/bmc_state_manager.hpp
index e832451..d50d4f3 100644
--- a/bmc_state_manager.hpp
+++ b/bmc_state_manager.hpp
@@ -4,9 +4,13 @@
 #include "xyz/openbmc_project/State/BMC/server.hpp"
 
 #include <linux/watchdog.h>
+#include <sys/sysinfo.h>
 
 #include <sdbusplus/bus.hpp>
 
+#include <cassert>
+#include <chrono>
+
 namespace phosphor
 {
 namespace state
@@ -44,6 +48,19 @@
         utils::subscribeToSystemdSignals(bus);
         discoverInitialState();
         discoverLastRebootCause();
+
+        using namespace std::chrono;
+        struct sysinfo info;
+
+        auto rc = sysinfo(&info);
+        assert(rc == 0);
+        // Since uptime is in seconds, also get the current time in seconds.
+        auto now = time_point_cast<seconds>(system_clock::now());
+        auto rebootTimeTs = now - seconds(info.uptime);
+        rebootTime =
+            duration_cast<milliseconds>(rebootTimeTs.time_since_epoch())
+                .count();
+
         this->emit_object_added();
     };
 
@@ -102,6 +119,11 @@
      * @brief discover the last reboot cause of the bmc
      **/
     void discoverLastRebootCause();
+
+    /**
+     * @brief the lastRebootTime calcuated at startup.
+     **/
+    uint64_t rebootTime;
 };
 
 } // namespace manager
