Index: libcfa/src/time.hfa
===================================================================
--- libcfa/src/time.hfa	(revision e3fea427569271c0c15fd2ca6d3296f213856ead)
+++ libcfa/src/time.hfa	(revision bf08316a0e1d3408ce3ab75559cd3293d45eb790)
@@ -10,6 +10,6 @@
 // Created On       : Wed Mar 14 23:18:57 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Feb  4 08:24:32 2020
-// Update Count     : 654
+// Last Modified On : Wed Jun 17 16:13:00 2020
+// Update Count     : 663
 //
 
@@ -20,7 +20,5 @@
 
 #include <time.h>										// timespec
-extern "C" {
 #include <sys/time.h>									// timeval
-}
 #include <time_t.hfa>									// Duration/Time types
 
@@ -91,4 +89,13 @@
 	int64_t ?`w( Duration dur ) { return dur.tn / (7LL * 24LL * 60LL * 60LL * TIMEGRAN); }
 
+	double ?`dns( Duration dur ) { return dur.tn; }
+	double ?`dus( Duration dur ) { return dur.tn / ((double)TIMEGRAN / 1_000_000.); }
+	double ?`dms( Duration dur ) { return dur.tn / ((double)TIMEGRAN / 1_000.); }
+	double ?`ds( Duration dur ) { return dur.tn / (double)TIMEGRAN; }
+	double ?`dm( Duration dur ) { return dur.tn / (60. * TIMEGRAN); }
+	double ?`dh( Duration dur ) { return dur.tn / (60. * 60. * (double)TIMEGRAN); }
+	double ?`dd( Duration dur ) { return dur.tn / (24. * 60. * 60. * (double)TIMEGRAN); }
+	double ?`dw( Duration dur ) { return dur.tn / (7. * 24. * 60. * 60. * (double)TIMEGRAN); }
+
 	Duration max( Duration lhs, Duration rhs ) { return  (lhs.tn < rhs.tn) ? rhs : lhs;}
 	Duration min( Duration lhs, Duration rhs ) { return !(rhs.tn < lhs.tn) ? lhs : rhs;}
