Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# 

2# LSST Data Management System 

3# 

4# Copyright 2008-2017 AURA/LSST. 

5# 

6# This product includes software developed by the 

7# LSST Project (http://www.lsst.org/). 

8# 

9# This program is free software: you can redistribute it and/or modify 

10# it under the terms of the GNU General Public License as published by 

11# the Free Software Foundation, either version 3 of the License, or 

12# (at your option) any later version. 

13# 

14# This program is distributed in the hope that it will be useful, 

15# but WITHOUT ANY WARRANTY; without even the implied warranty of 

16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

17# GNU General Public License for more details. 

18# 

19# You should have received a copy of the LSST License Statement and 

20# the GNU General Public License along with this program. If not, 

21# see <http://www.lsstcorp.org/LegalNotices/>. 

22# 

23 

24 

25__all__ = [] 

26 

27from lsst.utils import continueClass 

28 

29from .dateTime import DateTime 

30 

31 

32@continueClass # noqa F811 

33class DateTime: 

34 

35 def toPython(self, timescale=None): 

36 """Convert a DateTime to Python's datetime 

37 

38 @param timescale Timescale for resultant datetime 

39 """ 

40 import datetime 

41 nsecs = self.nsecs(timescale) if timescale is not None else self.nsecs() 

42 return datetime.datetime.utcfromtimestamp(nsecs/10**9) 

43 

44 def __repr__(self): 

45 if self.isValid(): 

46 return "DateTime(\"{}\", TAI)".format(self.toString(DateTime.TAI)) 

47 else: 

48 return "DateTime()" 

49 

50 def __reduce__(self): 

51 return (DateTime, (self.nsecs(), ))