lsst.daf.base
gf041782ebf+574f06f069
Loading...
Searching...
No Matches
python
lsst
daf
base
dateTime
dateTimeContinued.py
Go to the documentation of this file.
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
__all__ = [
"DateTime"
]
24
25
from
lsst.utils
import
continueClass
26
27
from
.._dafBaseLib
import
DateTime
28
29
30
@continueClass
# noqa: F811 (FIXME: remove for py 3.8+)
31
class
DateTime
:
# noqa: F811
32
33
def
toPython
(self, timescale=None):
34
"""Convert a DateTime to Python's datetime
35
36
Parameters
37
----------
38
timescale : `dateTime.DateTime.Timescale`, optional
39
Timescale for resultant datetime.
40
41
Returns
42
-------
43
datetime : `datetime.datetime`
44
The resultant Python `datetime.datetime` object.
45
46
Raises
47
------
48
ValueError
49
Raised if the DateTime is invalid (uninitialized).
50
"""
51
import
datetime
52
if
not
self.isValid():
53
raise
RuntimeError(
"DateTime not valid"
)
54
nsecs = self.nsecs(timescale)
if
timescale
is
not
None
else
self.nsecs()
55
return
datetime.datetime.utcfromtimestamp(nsecs/10**9)
56
57
def
toAstropy
(self, timescale=None):
58
"""Convert a DateTime to an astropy Time.
59
60
Returns
61
-------
62
time : `astropy.time.Time`
63
This date as an astropy MJD/TAI time.
64
65
Raises
66
------
67
ValueError
68
Raised if the DateTime is invalid (uninitialized).
69
"""
70
# So that astropy is not an import-time dependency of daf_base.
71
import
astropy.time
72
return
astropy.time.Time(self.get(system=DateTime.MJD, scale=DateTime.TAI), scale=
"tai"
, format=
"mjd"
)
73
74
def
__repr__
(self):
75
if
self.isValid():
76
return
"DateTime(\"{}\", TAI)"
.format(self.toString(DateTime.TAI))
77
else
:
78
return
"DateTime()"
79
80
def
__reduce__
(self):
81
return
(DateTime, (self.nsecs(), ))
lsst::daf::base.dateTime.dateTimeContinued.DateTime
Definition
dateTimeContinued.py:31
lsst::daf::base.dateTime.dateTimeContinued.DateTime.toPython
toPython(self, timescale=None)
Definition
dateTimeContinued.py:33
lsst::daf::base.dateTime.dateTimeContinued.DateTime.__repr__
__repr__(self)
Definition
dateTimeContinued.py:74
lsst::daf::base.dateTime.dateTimeContinued.DateTime.__reduce__
__reduce__(self)
Definition
dateTimeContinued.py:80
lsst::daf::base.dateTime.dateTimeContinued.DateTime.toAstropy
toAstropy(self, timescale=None)
Definition
dateTimeContinued.py:57
Generated on Sat Jan 6 2024 11:44:01 for lsst.daf.base by
1.10.0