diff --git a/frup.c b/frup.c
index d280a99..7979f70 100644
--- a/frup.c
+++ b/frup.c
@@ -175,6 +175,25 @@
  *
  * --------------------------------------------------------------------
  */
+
+static size_t _to_time_str (uint32_t mfg_date_time, char* timestr, uint32_t len)
+{
+    struct tm tm;
+    time_t t;
+    size_t s;
+
+    ASSERT (timestr);
+    ASSERT (len);
+
+    memset (&tm, '\0', sizeof (struct tm));
+
+    t = mfg_date_time;
+    gmtime_r (&t, &tm);
+    s = strftime (timestr, len, "%F - %H:%M:%S", &tm);
+
+    return s;
+}
+
 /* private method to parse type/length */
 static int
 _parse_type_length (const void *areabuf,
@@ -716,6 +735,7 @@
   ipmi_fru_area_info_t fru_area_info [ IPMI_FRU_AREA_TYPE_MAX ];
   ipmi_fru_common_hdr_t* chdr = NULL;
   uint8_t* hdr = NULL;
+  char timestr [ OPENBMC_VPD_VAL_LEN ];
 
 
   ipmi_fru_field_t vpd_info [ OPENBMC_VPD_KEY_MAX ];
@@ -836,7 +856,8 @@
 
     if (i==OPENBMC_VPD_KEY_BOARD_MFG_DATE)
     {
-        sd_bus_message_append (vpdtbl, "sa{y}", vpd_key_names[i], mfg_date_time);
+        _to_time_str (mfg_date_time, timestr, OPENBMC_VPD_VAL_LEN);
+        sd_bus_message_append (vpdtbl, "{sv}", vpd_key_names[i], "s", timestr);
 #if IPMI_FRU_PARSER_DEBUG
         printf ("[%s] = [%d]\n", vpd_key_names[i], mfg_date_time);
 #else
@@ -873,6 +894,7 @@
   ipmi_fru_common_hdr_t* chdr = NULL;
   uint8_t* hdr = NULL;
   const uint8_t* ipmi_fru_field_str=NULL;
+  char timestr [ OPENBMC_VPD_VAL_LEN ];
 
 
   ipmi_fru_field_t vpd_info [ OPENBMC_VPD_KEY_MAX ];
@@ -943,7 +965,8 @@
             {
                 if (i==OPENBMC_VPD_KEY_BOARD_MFG_DATE)
                 {
-                    sd_bus_message_append (vpdtbl, "sa{y}", vpd_key_names[i], mfg_date_time);
+                    _to_time_str (mfg_date_time, timestr, OPENBMC_VPD_VAL_LEN);
+                    sd_bus_message_append (vpdtbl, "{sv}", vpd_key_names[i], "s", timestr);
 #if IPMI_FRU_PARSER_DEBUG
                     printf ("Board : [%s] = [%d]\n", vpd_key_names[i], mfg_date_time);
 #else
