Changeset 947 for trunk/python

Show
Ignore:
Timestamp:
10/13/08 22:18:05 (3 months ago)
Author:
hobu
Message:

more fixups related to #83.. ensure we use GMT and fix microseconds overflow

Location:
trunk/python
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • trunk/python/liblas/point.py

    r945 r947  
    181181        floor = math.floor(t) 
    182182        ms = float(t) - floor 
     183         
     184        # clip to 999999 
    183185        ms = int(round(ms* 1000000 )) 
    184         lt = time.localtime(t) 
    185         return datetime.datetime(lt[0],lt[1],lt[2],lt[3],lt[4],lt[5],ms) 
     186        if ms > 999999: 
     187            ms = 999999 
     188 
     189        lt = time.gmtime(t) 
     190        value = datetime.datetime(lt[0],lt[1],lt[2],lt[3],lt[4],lt[5],ms) 
     191        return value 
    186192         
    187193    def set_time(self, value): 
     
    195201        Example 
    196202        ------- 
    197         >>> t = datetime.datetime(2008,3,19) 
     203        >>> td = datetime.timedelta(hours=6) # my timezone is -6 
     204        >>> t = datetime.datetime(2008,3,19) -td 
    198205        >>> p.time = t 
    199206        >>> p.time 
  • trunk/python/tests/File.txt

    r843 r947  
    5757  <liblas.point.Point object at ...> 
    5858 
     59 
    5960  >>> len(points) 
    6061  8   
  • trunk/python/tests/Header.txt

    r797 r947  
    2525 
    2626  >>> import datetime 
    27   >>> now = datetime.datetime.now() 
    28   >>> today = datetime.datetime(now.year, now.month,now.day) 
    29   >>> h.date == today 
     27  >>> td = datetime.timedelta(hours=5) # my timezone is GMT-5 
     28  >>> now = datetime.datetime.now() - td 
     29  >>> today = datetime.datetime(now.year, now.month,now.day)  
     30   
     31  >>> x = h.date - td 
     32  >>> d = datetime.datetime(x.year, x.month, x.day) 
     33  >>> d == today 
    3034  True 
    3135  >>> t = datetime.datetime(2008,3,19) 
  • trunk/python/tests/Point.txt

    r945 r947  
    6161   
    6262  >>> import datetime 
    63   >>> t = datetime.datetime(2008,3,19,23,45,45,134) 
     63  >>> td = datetime.timedelta(hours=5) # my timezone is GMT-5 
     64  >>> t = datetime.datetime(2008,3,19,23,45,45,13434) - td 
    6465  >>> p.time = t 
    6566  >>> p.time 
    66   datetime.datetime(2008, 3, 19, 23, 45, 45, 134) 
     67  datetime.datetime(2008, 3, 19, 23, 45, 45, 13434) 
    6768  >>> p.time.microsecond 
    68   134 
     69  13434 
    6970   
    7071  >>> p.intensity