[Python-Dev] datetime +/- scalars (int, long, float)? (original) (raw)
Neal Norwitz neal@metaslash.com
Sun, 03 Mar 2002 09:29:01 -0500
- Previous message: [Python-Dev] help debugging thread deadlocks
- Next message: [Python-Dev] datetime +/- scalars (int, long, float)?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Would it be good to allow adding/subtracting scalars (int, long, float) to/from date/times? The scalar value would be # of seconds.
So: dt = datetime() # some date/time dt + 5 # would add 5 seconds dt + 5.3 # would add 5 seconds 300000 usecs
If so, attached is a patch.
Neal
Index: sandbox/datetime/datetime.py
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/datetime.py,v retrieving revision 1.22 diff -w -u -r1.22 datetime.py --- sandbox/datetime/datetime.py 3 Mar 2002 06:11:54 -0000 1.22 +++ sandbox/datetime/datetime.py 3 Mar 2002 14:26:19 -0000 @@ -590,6 +590,13 @@ result.__microsecond = us result.__tzoffset = self.__tzoffset return result
elif isinstance(other, (int, long)):
return self + timedelta(0, other)
elif isinstance(other, float):
# XXX not sure if float needs it's own condition or
# XXX should work the same as int/long
ss, us = divmod(other, 1000000)
radd = addreturn self + timedelta(0, ss, int(us)) return NotImplemented
@@ -598,6 +605,13 @@ "Subtract two datetimes, or a datetime and a timedelta." if isinstance(other, timedelta): return self + -other
elif isinstance(other, (int, long)):
return self + -timedelta(0, other)
elif isinstance(other, float):
# XXX not sure if float needs it's own condition or
# XXX should work the same as int/long
ss, us = divmod(other, 1000000)
return self + -timedelta(0, ss, int(us)) if isinstance(other, datetime): days1 = self.toordinal() days2 = other.toordinal()
- Previous message: [Python-Dev] help debugging thread deadlocks
- Next message: [Python-Dev] datetime +/- scalars (int, long, float)?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]