gsfc.nssdc.cdf.util
Class Epoch

java.lang.Object
  extended bygsfc.nssdc.cdf.util.Epoch
All Implemented Interfaces:
CDFConstants

public class Epoch
extends java.lang.Object
implements CDFConstants

Example:

 
 // Get the milliseconds to Aug 5, 1990 at 5:00
 double ep = Epoch.compute(1990, 8, 5, 5, 0, 0, 0);
 //Get the year, month, day, hour, minutes, seconds, milliseconds for ep
 long times[] = Epoch.breakdown(ep);
 for (int i=0;i<times.length;i++)
     System.out.print(times[i]+" ");
 System.out.println();
 // Printout the epoch in various formats
 System.out.println(Epoch.encode(ep));
 System.out.println(Epoch.encode1(ep));
 System.out.println(Epoch.encode2(ep));
 System.out.println(Epoch.encode3(ep));
 // Print out the date using format
 String format = " ,  at :";
 System.out.println(Epoch.encodex(ep,format));
 


Field Summary
 
Fields inherited from interface gsfc.nssdc.cdf.CDFConstants
AHUFF_COMPRESSION, ALPHAOSF1_DECODING, ALPHAOSF1_ENCODING, ALPHAVMSd_DECODING, ALPHAVMSd_ENCODING, ALPHAVMSg_DECODING, ALPHAVMSg_ENCODING, ALPHAVMSi_DECODING, ALPHAVMSi_ENCODING, ATTR_, ATTR_EXISTENCE_, ATTR_EXISTS, ATTR_MAXgENTRY_, ATTR_MAXrENTRY_, ATTR_MAXzENTRY_, ATTR_NAME_, ATTR_NAME_TRUNC, ATTR_NUMBER_, ATTR_NUMgENTRIES_, ATTR_NUMrENTRIES_, ATTR_NUMzENTRIES_, ATTR_SCOPE_, BACKWARD_, BACKWARDFILEoff, BACKWARDFILEon, BAD_ALLOCATE_RECS, BAD_ARGUMENT, BAD_ATTR_NAME, BAD_ATTR_NUM, BAD_BLOCKING_FACTOR, BAD_CACHE_SIZE, BAD_CDF_EXTENSION, BAD_CDF_ID, BAD_CDF_NAME, BAD_CDFSTATUS, BAD_COMPRESSION_PARM, BAD_DATA_TYPE, BAD_DECODING, BAD_DIM_COUNT, BAD_DIM_INDEX, BAD_DIM_INTERVAL, BAD_DIM_SIZE, BAD_ENCODING, BAD_ENTRY_NUM, BAD_FNC_OR_ITEM, BAD_FORMAT, BAD_INITIAL_RECS, BAD_MAJORITY, BAD_MALLOC, BAD_NEGtoPOSfp0_MODE, BAD_NUM_DIMS, BAD_NUM_ELEMS, BAD_NUM_VARS, BAD_READONLY_MODE, BAD_REC_COUNT, BAD_REC_INTERVAL, BAD_REC_NUM, BAD_SCOPE, BAD_SCRATCH_DIR, BAD_SPARSEARRAYS_PARM, BAD_VAR_NAME, BAD_VAR_NUM, BAD_zMODE, CANNOT_ALLOCATE_RECORDS, CANNOT_CHANGE, CANNOT_COMPRESS, CANNOT_COPY, CANNOT_SPARSEARRAYS, CANNOT_SPARSERECORDS, CDF_, CDF_ACCESS_, CDF_ATTR_NAME_LEN, CDF_BYTE, CDF_CACHESIZE_, CDF_CHAR, CDF_CLOSE_ERROR, CDF_COMPRESSION_, CDF_COPYRIGHT_, CDF_COPYRIGHT_LEN, CDF_CREATE_ERROR, CDF_DECODING_, CDF_DELETE_ERROR, CDF_DOUBLE, CDF_ENCODING_, CDF_EPOCH, CDF_EPOCH16, CDF_EXISTS, CDF_FLOAT, CDF_FORMAT_, CDF_INCREMENT_, CDF_INFO_, CDF_INT1, CDF_INT2, CDF_INT4, CDF_INTERNAL_ERROR, CDF_MAJORITY_, CDF_MAX_DIMS, CDF_MAX_PARMS, CDF_MIN_DIMS, CDF_NAME_, CDF_NAME_TRUNC, CDF_NEGtoPOSfp0_MODE_, CDF_NUMATTRS_, CDF_NUMgATTRS_, CDF_NUMrVARS_, CDF_NUMvATTRS_, CDF_NUMzVARS_, CDF_OK, CDF_OPEN_ERROR, CDF_PATHNAME_LEN, CDF_READ_ERROR, CDF_READONLY_MODE_, CDF_REAL4, CDF_REAL8, CDF_RELEASE_, CDF_SCRATCHDIR_, CDF_STATUS_, CDF_STATUSTEXT_LEN, CDF_UCHAR, CDF_UINT1, CDF_UINT2, CDF_UINT4, CDF_VAR_NAME_LEN, CDF_VERSION_, CDF_WARN, CDF_WRITE_ERROR, CDF_zMODE_, CDFwithSTATS_, CLOSE_, COLUMN_MAJOR, COMPRESS_CACHESIZE_, COMPRESSION_ERROR, CONFIRM_, CORRUPTED_V2_CDF, CORRUPTED_V3_CDF, CREATE_, CURgENTRY_EXISTENCE_, CURrENTRY_EXISTENCE_, CURzENTRY_EXISTENCE_, DATATYPE_MISMATCH, DATATYPE_SIZE_, DECOMPRESSION_ERROR, DECSTATION_DECODING, DECSTATION_ENCODING, DEFAULT_BYTE_PADVALUE, DEFAULT_CHAR_PADVALUE, DEFAULT_DOUBLE_PADVALUE, DEFAULT_EPOCH_PADVALUE, DEFAULT_FLOAT_PADVALUE, DEFAULT_INT1_PADVALUE, DEFAULT_INT2_PADVALUE, DEFAULT_INT4_PADVALUE, DEFAULT_REAL4_PADVALUE, DEFAULT_REAL8_PADVALUE, DEFAULT_UCHAR_PADVALUE, DEFAULT_UINT1_PADVALUE, DEFAULT_UINT2_PADVALUE, DEFAULT_UINT4_PADVALUE, DELETE_, DID_NOT_COMPRESS, EMPTY_COMPRESSED_CDF, END_OF_VAR, EPOCH_STRING_LEN, EPOCH_STRING_LEN_EXTEND, EPOCH1_STRING_LEN, EPOCH1_STRING_LEN_EXTEND, EPOCH2_STRING_LEN, EPOCH2_STRING_LEN_EXTEND, EPOCH3_STRING_LEN, EPOCH3_STRING_LEN_EXTEND, EPOCHx_FORMAT_MAX, EPOCHx_STRING_MAX, FORCED_PARAMETER, gENTRY_, gENTRY_DATA_, gENTRY_DATASPEC_, gENTRY_DATATYPE_, gENTRY_EXISTENCE_, gENTRY_NUMELEMS_, GET_, GETCDFFILEBACKWARD_, GLOBAL_SCOPE, GZIP_COMPRESSION, HOST_DECODING, HOST_ENCODING, HP_DECODING, HP_ENCODING, HUFF_COMPRESSION, IBM_PC_OVERFLOW, IBMPC_DECODING, IBMPC_ENCODING, IBMRS_DECODING, IBMRS_ENCODING, ILLEGAL_EPOCH_FIELD, ILLEGAL_EPOCH_VALUE, ILLEGAL_FOR_SCOPE, ILLEGAL_IN_zMODE, ILLEGAL_ON_V1_CDF, LIB_COPYRIGHT_, LIB_INCREMENT_, LIB_RELEASE_, LIB_subINCREMENT_, LIB_VERSION_, MAC_DECODING, MAC_ENCODING, MULTI_FILE, MULTI_FILE_FORMAT, NA_FOR_VARIABLE, NEGATIVE_FP_ZERO, NEGtoPOSfp0off, NEGtoPOSfp0on, NETWORK_DECODING, NETWORK_ENCODING, NeXT_DECODING, NeXT_ENCODING, NO_ATTR_SELECTED, NO_CDF_SELECTED, NO_COMPRESSION, NO_DELETE_ACCESS, NO_ENTRY_SELECTED, NO_MORE_ACCESS, NO_PADVALUE_SPECIFIED, NO_SPARSEARRAYS, NO_SPARSERECORDS, NO_STATUS_SELECTED, NO_SUCH_ATTR, NO_SUCH_CDF, NO_SUCH_ENTRY, NO_SUCH_RECORD, NO_SUCH_VAR, NO_VAR_SELECTED, NO_VARS_IN_CDF, NO_WRITE_ACCESS, NOT_A_CDF, NOT_A_CDF_OR_NOT_SUPPORTED, NOVARY, NULL_, OPEN_, OPTIMAL_ENCODING_TREES, PAD_SPARSERECORDS, PRECEEDING_RECORDS_ALLOCATED, PREV_SPARSERECORDS, PUT_, READ_ONLY_DISTRIBUTION, READ_ONLY_MODE, READONLYoff, READONLYon, rENTRY_, rENTRY_DATA_, rENTRY_DATASPEC_, rENTRY_DATATYPE_, rENTRY_EXISTENCE_, rENTRY_NAME_, rENTRY_NUMELEMS_, RLE_COMPRESSION, RLE_OF_ZEROs, ROW_MAJOR, rVAR_, rVAR_ALLOCATEBLOCK_, rVAR_ALLOCATEDFROM_, rVAR_ALLOCATEDTO_, rVAR_ALLOCATERECS_, rVAR_BLOCKINGFACTOR_, rVAR_CACHESIZE_, rVAR_COMPRESSION_, rVAR_DATA_, rVAR_DATASPEC_, rVAR_DATATYPE_, rVAR_DIMVARYS_, rVAR_EXISTENCE_, rVAR_HYPERDATA_, rVAR_INITIALRECS_, rVAR_MAXallocREC_, rVAR_MAXREC_, rVAR_NAME_, rVAR_nINDEXENTRIES_, rVAR_nINDEXLEVELS_, rVAR_nINDEXRECORDS_, rVAR_NUMallocRECS_, rVAR_NUMBER_, rVAR_NUMELEMS_, rVAR_NUMRECS_, rVAR_PADVALUE_, rVAR_RECORDS_, rVAR_RECVARY_, rVAR_RESERVEPERCENT_, rVAR_SEQDATA_, rVAR_SEQPOS_, rVAR_SPARSEARRAYS_, rVAR_SPARSERECORDS_, rVARs_CACHESIZE_, rVARs_DIMCOUNTS_, rVARs_DIMINDICES_, rVARs_DIMINTERVALS_, rVARs_DIMSIZES_, rVARs_MAXREC_, rVARs_NUMDIMS_, rVARs_RECCOUNT_, rVARs_RECDATA_, rVARs_RECINTERVAL_, rVARs_RECNUMBER_, SAVE_, SCRATCH_CREATE_ERROR, SCRATCH_DELETE_ERROR, SCRATCH_READ_ERROR, SCRATCH_WRITE_ERROR, SELECT_, SGi_DECODING, SGi_ENCODING, SINGLE_FILE, SINGLE_FILE_FORMAT, SOME_ALREADY_ALLOCATED, STAGE_CACHESIZE_, STATUS_TEXT_, SUN_DECODING, SUN_ENCODING, TOO_MANY_PARMS, TOO_MANY_VARS, UNKNOWN_COMPRESSION, UNKNOWN_SPARSENESS, UNSUPPORTED_OPERATION, VAR_ALREADY_CLOSED, VAR_CLOSE_ERROR, VAR_CREATE_ERROR, VAR_DELETE_ERROR, VAR_EXISTS, VAR_NAME_TRUNC, VAR_OPEN_ERROR, VAR_READ_ERROR, VAR_WRITE_ERROR, VARIABLE_SCOPE, VARY, VAX_DECODING, VAX_ENCODING, VIRTUAL_RECORD_DATA, zENTRY_, zENTRY_DATA_, zENTRY_DATASPEC_, zENTRY_DATATYPE_, zENTRY_EXISTENCE_, zENTRY_NAME_, zENTRY_NUMELEMS_, zMODEoff, zMODEon1, zMODEon2, zVAR_, zVAR_ALLOCATEBLOCK_, zVAR_ALLOCATEDFROM_, zVAR_ALLOCATEDTO_, zVAR_ALLOCATERECS_, zVAR_BLOCKINGFACTOR_, zVAR_CACHESIZE_, zVAR_COMPRESSION_, zVAR_DATA_, zVAR_DATASPEC_, zVAR_DATATYPE_, zVAR_DIMCOUNTS_, zVAR_DIMINDICES_, zVAR_DIMINTERVALS_, zVAR_DIMSIZES_, zVAR_DIMVARYS_, zVAR_EXISTENCE_, zVAR_HYPERDATA_, zVAR_INITIALRECS_, zVAR_MAXallocREC_, zVAR_MAXREC_, zVAR_NAME_, zVAR_nINDEXENTRIES_, zVAR_nINDEXLEVELS_, zVAR_nINDEXRECORDS_, zVAR_NUMallocRECS_, zVAR_NUMBER_, zVAR_NUMDIMS_, zVAR_NUMELEMS_, zVAR_NUMRECS_, zVAR_PADVALUE_, zVAR_RECCOUNT_, zVAR_RECINTERVAL_, zVAR_RECNUMBER_, zVAR_RECORDS_, zVAR_RECVARY_, zVAR_RESERVEPERCENT_, zVAR_SEQDATA_, zVAR_SEQPOS_, zVAR_SPARSEARRAYS_, zVAR_SPARSERECORDS_, zVARs_CACHESIZE_, zVARs_MAXREC_, zVARs_RECDATA_, zVARs_RECNUMBER_
 
Constructor Summary
Epoch()
           
 
Method Summary
static long[] breakdown(double epoch)
          Breaks an EPOCH value down into its component parts.
static double compute(long year, long month, long day, long hour, long minute, long second, long msec)
          Computes an EPOCH value based on its component parts.
static java.lang.String encode(double epoch)
          Converts an EPOCH value into a readable date/time string.
static java.lang.String encode1(double epoch)
          Converts an EPOCH value into a readable date/time string.
static java.lang.String encode2(double epoch)
          Converts an EPOCH value into a readable date/time string.
static java.lang.String encode3(double epoch)
          Converts an EPOCH value into a readable date/time string.
static java.lang.String encodex(double epoch, java.lang.String formatString)
          Converts an EPOCH value into a readable date/time string using the specified format.
static double parse(java.lang.String inString)
          This function parses an input date/time string and returns an EPOCH value.
static double parse1(java.lang.String inString)
          This function parses an input date/time string and returns an EPOCH value.
static double parse2(java.lang.String inString)
          This function parses an input date/time string and returns an EPOCH value.
static double parse3(java.lang.String inString)
          This function parses an input date/time string and returns an EPOCH value.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Epoch

public Epoch()
Method Detail

parse

public static double parse(java.lang.String inString)
                    throws CDFException
This function parses an input date/time string and returns an EPOCH value. The format must be exactly as shown below. Month abbreviations may be in any case and are always the first three letters of the month.
 Format:   dd-mmm-yyyy hh:mm:ss.mmm
 Examples:  1-Apr-1990 03:05:02.000
           10-Oct-1993 23:45:49.999
 
The expected format is the same as that produced by encodeEPOCH.

Parameters:
inString - the epoch in string representation
Returns:
the value of the epoch represented by inString
Throws:
CDFException - if a bad epoch value is passed in inString

parse1

public static double parse1(java.lang.String inString)
                     throws CDFException
This function parses an input date/time string and returns an EPOCH value. The format must be exactly as shown below. Note that if there are less than 7 digits after the decimal point, zeros (0's) are assumed for the missing digits.
 Format:    yyyymmdd.ttttttt
 Examples:  19950508.0000000
            19671231.58      (== 19671213.5800000)
 
The expected format is the same as that produced by encodeEPOCH1.

Parameters:
inString - the epoch in string representation
Returns:
the value of the epoch represented by inString
Throws:
CDFException - if a bad epoch value is passed in inString

parse2

public static double parse2(java.lang.String inString)
                     throws CDFException
This function parses an input date/time string and returns an EPOCH value. The format must be exactly as shown below.
 Format:   yyyymmddhhmmss
 Examples: 19950508000000
           19671231235959
 
The expected format is the same as that produced by encodeEPOCH2.

Parameters:
inString - the epoch in string representation
Returns:
the value of the epoch represented by inString
Throws:
CDFException - if a bad epoch value is passed in inString

parse3

public static double parse3(java.lang.String inString)
                     throws CDFException
This function parses an input date/time string and returns an EPOCH value. The format must be exactly as shown below.
 Format:    yyyy-mm-ddThh:mm:ss.cccZ
 Examples:  1990-04-01T03:05:02.000Z
            1993-10-10T23:45:49.999Z
 
The expected format is the same as that produced by encodeEPOCH3.

Parameters:
inString - the epoch in string representation
Returns:
the value of the epoch represented by inString
Throws:
CDFException - if a bad epoch value is passed in inString

encode

public static java.lang.String encode(double epoch)
Converts an EPOCH value into a readable date/time string.
 Format:    dd-mmm-yyyy hh:mm:ss.ccc
 Examples:  01-Apr-1990 03:05:02.000
            10-Oct-1993 23:45:49.999
 
This format is the same as that expected by parse.

Parameters:
epoch - the epoch value
Returns:
A string representation of the epoch

encode1

public static java.lang.String encode1(double epoch)
Converts an EPOCH value into a readable date/time string.
 Format:    yyyymmdd.ttttttt
 Examples:  19900401.3658893
            19611231.0000000
 
This format is the same as that expected by parse1.

Parameters:
epoch - the epoch value
Returns:
A string representation of the epoch

encode2

public static java.lang.String encode2(double epoch)
Converts an EPOCH value into a readable date/time string.
 Format:     yyyymmddhhmmss
 Examples:   19900401235959
             19611231000000
 
This format is the same as that expected by parse2.

Parameters:
epoch - the epoch value
Returns:
A string representation of the epoch

encode3

public static java.lang.String encode3(double epoch)
Converts an EPOCH value into a readable date/time string.
 Format:    yyyy-mm-ddThh:mm:ss.cccZ
 Examples:  1990-04-01T03:05:02.000Z
            1993-10-10T23:45:49.999Z
 
This format is the same as that expected by parse3.

Parameters:
epoch - the epoch value
Returns:
A string representation of the epoch

encodex

public static java.lang.String encodex(double epoch,
                                       java.lang.String formatString)
Converts an EPOCH value into a readable date/time string using the specified format. See the C Reference Manual section 8.7 for details

Parameters:
epoch - the epoch value
formatString - a string representing the desired format of the epoch
Returns:
A string representation of the epoch according to formatString

compute

public static double compute(long year,
                             long month,
                             long day,
                             long hour,
                             long minute,
                             long second,
                             long msec)
                      throws CDFException
Computes an EPOCH value based on its component parts.

Parameters:
year - the year
month - the month
day - the day
hour - the hour
minute - the minute
second - the second
msec - the millisecond
Returns:
the epoch value
Throws:
CDFException - an ILLEGAL_EPOCH_FIELD if an illegal component value is detected.

breakdown

public static long[] breakdown(double epoch)
Breaks an EPOCH value down into its component parts.

Parameters:
epoch - the epoch value to break down
Returns:
an array containing the epoch parts:
IndexPart
0year
1month
2day
3hour
4minute
5second
6msec