cython: Fix handling of Date nodes (needs MACH_EPOCH)
diff --git a/cython/plist.pyx b/cython/plist.pyx
index 0149ffa..be3fe8a 100644
--- a/cython/plist.pyx
+++ b/cython/plist.pyx
@@ -457,6 +457,8 @@
     instance._c_node = c_node
     return instance
 
+MAC_EPOCH = 978307200
+
 cdef extern from "plist_util.h":
     void datetime_to_ints(object obj, int32_t* sec, int32_t* usec)
     object ints_to_datetime(int32_t sec, int32_t usec)
@@ -470,6 +472,7 @@
         node = plist_new_date(0, 0)
     elif check_datetime(value):
         datetime_to_ints(value, &secs, &usecs)
+        secs -= MAC_EPOCH
         node = plist_new_date(secs, usecs)
     return node
 
@@ -500,6 +503,7 @@
         cdef int32_t secs = 0
         cdef int32_t usecs = 0
         plist_get_date_val(self._c_node, &secs, &usecs)
+        secs += MAC_EPOCH
         return ints_to_datetime(secs, usecs)
 
     cpdef set_value(self, object value):