diff --git a/src/systemc/core/sc_time.cc b/src/systemc/core/sc_time.cc
index ebc637b..167b374 100644
--- a/src/systemc/core/sc_time.cc
+++ b/src/systemc/core/sc_time.cc
@@ -273,4 +273,44 @@
     return *(sc_time *)nullptr;
 }
 
+sc_time_tuple::sc_time_tuple(const sc_time &)
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+bool
+sc_time_tuple::has_value() const
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+    return false;
+}
+
+sc_dt::uint64
+sc_time_tuple::value() const
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+    return 0;
+}
+
+const char *
+sc_time_tuple::unit_symbol() const
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+    return "";
+}
+
+double
+sc_time_tuple::to_double() const
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+    return 0.0;
+}
+
+std::string
+sc_time_tuple::to_string() const
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+    return "";
+}
+
 } // namespace sc_core
diff --git a/src/systemc/ext/core/_using.hh b/src/systemc/ext/core/_using.hh
index da82700..8f00949 100644
--- a/src/systemc/ext/core/_using.hh
+++ b/src/systemc/ext/core/_using.hh
@@ -140,6 +140,7 @@
 using sc_core::SC_MS;
 using sc_core::SC_SEC;
 using sc_core::sc_time;
+using sc_core::sc_time_tuple;
 using sc_core::SC_ZERO_TIME;
 using sc_core::sc_set_time_resolution;
 using sc_core::sc_get_time_resolution;
diff --git a/src/systemc/ext/core/sc_time.hh b/src/systemc/ext/core/sc_time.hh
index ff71d70..362834c 100644
--- a/src/systemc/ext/core/sc_time.hh
+++ b/src/systemc/ext/core/sc_time.hh
@@ -106,6 +106,31 @@
 void sc_set_default_time_unit(double, sc_time_unit);
 sc_time sc_get_default_time_unit();
 
+// Nonstandard
+class sc_time_tuple
+{
+  public:
+    sc_time_tuple() : _value(), _unit(SC_SEC), _offset(1) {}
+    sc_time_tuple(const sc_time &);
+
+    bool has_value() const;
+    sc_dt::uint64 value() const;
+    // Normalized unit.
+    sc_time_unit unit() const { return _unit; }
+    // Normalized unit symbol.
+    const char *unit_symbol() const;
+
+    operator sc_time() const { return sc_time(to_double(), _unit); }
+
+    double to_double() const; // Relative to the normalized unit.
+    std::string to_string() const;
+
+  private:
+    sc_dt::uint64 _value;
+    sc_time_unit _unit;
+    unsigned _offset;
+};
+
 } // namespace sc_core
 
 #endif  //__SYSTEMC_EXT_CORE_SC_TIME_HH__
