add functions for computing end_of_day
smbaker [Tue, 23 Oct 2012 00:22:09 +0000 (17:22 -0700)]
apps/gacks/gackstime.py

index dc2cc56..e072eaa 100644 (file)
@@ -74,6 +74,24 @@ class GacksTime:
       later = date + relativedelta( months = months )
       return time.mktime(later.timetuple())
 
+    @staticmethod
+    def day_delta(input, days):
+      date = datetime.datetime.fromtimestamp(input)
+      later = date + relativedelta( days = days )
+      return time.mktime(later.timetuple())
+
+    @staticmethod
+    def strip_time_from_date(input):
+      date = datetime.date.fromtimestamp(input)
+      return time.mktime(date.timetuple())
+
+    @staticmethod
+    def end_of_day(input=None, day_delta=0):
+        if (input == None):
+            input = time.time()
+        input = GacksTime.day_delta(time.time(), day_delta)
+        return GacksTime.strip_time_from_date(input) + 23*60*60 + 59*60 + 59
+
 if __name__ == '__main__':
 
     t1 = int(time.time())
@@ -81,4 +99,4 @@ if __name__ == '__main__':
     t2 = GacksTime.string_to_timestamp(s1)
     print t1, s1
     print t2, s1
-    print "%s == %s : %s" % (t1, t2, t1 == t2) 
+    print "%s == %s : %s" % (t1, t2, t1 == t2)