casacore
|
A class with static functions to help deal with FITS dates. More...
#include <FITSDateUtil.h>
Public Types | |
enum | DateStyle { OLD, NEW_DATEONLY, NEW_DATEANDTIME, AUTO_PICK } |
Static Public Member Functions | |
static void | toFITS (String &date, String ×ys, const MVTime &time, MEpoch::Types system=MEpoch::UTC, DateStyle style=AUTO_PICK, uInt precision=12) |
Convert an MVTime to a FITS date string and timesys string. More... | |
static Bool | fromFITS (MVTime &time, MEpoch::Types &system, const String &date, const String ×ys) |
Convert a FITS date string and TIMESYS keyword value into an MVTime and system. More... | |
static Bool | convertDateString (String &out, const String &in) |
Convert a FITS Date string to the current format. More... | |
static uInt | findPrecision (const String &fitsDate) |
Determine the precision in a FITS date string. More... | |
A class with static functions to help deal with FITS dates.
Public interface
This is a collection of static utility functions for creating and interpreting FITS date keywords (e.g. DATE-OBS).
Its never necessary to construct a FITSDateUtil, just use the static functions to help handle FITS dates.
The strings that make up the value of FITS dates have a precise format. This class encompasses knowlege of the formats used and hopefully simplifies their creation and conversion to and from Casacore MVTimes.
Definition at line 73 of file FITSDateUtil.h.
Enumerator | |
---|---|
OLD |
dd/mm/yy |
NEW_DATEONLY |
yyyy-mm-dd |
NEW_DATEANDTIME |
yyyy-mm-ddThh:mm:ss[.ss...] |
AUTO_PICK |
OLD if the current year is before 1998 AND "time" is before 1998, otherwise NEW_DATEANDTIME. |
Definition at line 76 of file FITSDateUtil.h.
Convert a FITS Date string to the current format.
If the "in" format is already correct it is just copied through.
Determine the precision in a FITS date string.
Old style dates or no time returns 0, New style + time returns 6 + the number of decimal points, i.e. if we have a time at all we assume it is at least accurate to the second level. The result of this can be used in the call to toFITS, i.e. it has the same meaning.
This is mostly meant to be a helper function for convertDateString, but it may be called by anyone.
|
static |
Convert a FITS date string and TIMESYS keyword value into an MVTime and system.
Returns False if it can't decode date and timesys. It tries to convert as much as possible, for example if it can't decode timesys it still attempts to decode the time. It sets the date to Jan 1/1900 if it can't decode the time, and UTC if it can't decode timesys. If timesys is the empty string then UTC is assumed.
|
static |
Convert an MVTime to a FITS date string and timesys string.
The time system must also be supplied. Precision is only used when the time as well as the date is used (NEW_DATEANDTIME or AUTO_PICK). The default (16) gives 10^(-10) second accuracy, 6 gives second level accuracy. Default is 10^(-6)s (1 micro-s) accuracy. 0 means date only, no time (equivalent to NEW_DATEONLY).