diff --git a/libpldmresponder/bios.hpp b/libpldmresponder/bios.hpp
index 41ac70c..4a42bf4 100644
--- a/libpldmresponder/bios.hpp
+++ b/libpldmresponder/bios.hpp
@@ -8,6 +8,7 @@
 
 #include <stdint.h>
 
+#include <ctime>
 #include <functional>
 #include <map>
 #include <vector>
@@ -56,7 +57,7 @@
     /** @brief Handler for GetDateTime
      *
      *  @param[in] request - Request message payload
-     *  @param[return] Response - PLDM Response message
+     *  @return Response - PLDM Response message
      */
     Response getDateTime(const pldm_msg* request, size_t payloadLength);
 
@@ -64,7 +65,7 @@
      *
      *  @param[in] request - Request message
      *  @param[in] payload_length - Request message payload length
-     *  @param[return] Response - PLDM Response message
+     *  @return Response - PLDM Response message
      */
     Response getBIOSTable(const pldm_msg* request, size_t payloadLength);
 
@@ -76,6 +77,14 @@
      */
     Response getBIOSAttributeCurrentValueByHandle(const pldm_msg* request,
                                                   size_t payloadLength);
+
+    /** @brief Handler for SetDateTime
+     *
+     *  @param[in] request - Request message payload
+     *  @param[in] payloadLength - Request message payload length
+     *  @return Response - PLDM Response message
+     */
+    Response setDateTime(const pldm_msg* request, size_t payloadLength);
 };
 
 } // namespace bios
@@ -96,6 +105,19 @@
 void epochToBCDTime(uint64_t timeSec, uint8_t& seconds, uint8_t& minutes,
                     uint8_t& hours, uint8_t& day, uint8_t& month,
                     uint16_t& year);
+
+/** @brief Convert dec time to epoch time
+ *
+ *  @param[in] seconds - number of seconds in dec
+ *  @param[in] minutes - number of minutes in dec
+ *  @param[in] hours - number of hours in dec
+ *  @param[in] day - day of the month in dec
+ *  @param[in] month - month number in dec
+ *  @param[in] year - year number in dec
+ *  @return time - epoch time
+ */
+std::time_t timeToEpoch(uint8_t seconds, uint8_t minutes, uint8_t hours,
+                        uint8_t day, uint8_t month, uint16_t year);
 } // namespace utils
 
 } // namespace responder
