//----------------------------------------------------------------------------- // Copyright (c) 1994,1995 Southeastern Universities Research Association, // Continuous Electron Beam Accelerator Facility // // This software was developed under a United States Government license // described in the NOTICE file included as part of this distribution. // // Jefferson Lab HPC Group, 12000 Jefferson Ave., Newport News, VA 23606 //----------------------------------------------------------------------------- // // Description: // Data Type Of Time Stamp // // Author: // Jie Chen // Jefferson Lab HPC Group // // Revision History: // $Log: rsvcTimeStamp.java,v $ // Revision 1.1.1.1 2000/05/23 15:12:50 pal // cdev_psi_1.7.2 // // Revision 1.1 1999/10/18 17:12:44 chen // *** empty log message *** // // // import java.util.Date; public final class rsvcTimeStamp extends Number { public int secPastEpoch; // seconds since Jan. 1, 1970 public int nsec; // nano seconds /** * Construct a time stamp with current time */ public rsvcTimeStamp () { Date d = new Date(); long t = d.getTime(); secPastEpoch = (int)(t/1000); nsec = (int)(t - secPastEpoch)*1000; } /** * Construct a time stamp with provided second and nano second fields */ public rsvcTimeStamp (int sec, int nsec) { secPastEpoch = sec + nsec/1000000000; nsec = nsec - nsec/1000000000 * 1000000000; } // all inherited functions /** * Return byte value of time stamp */ public byte byteValue () { return (byte)secPastEpoch; } /** * Return short value of time stamp */ public short shortValue () { return (short)secPastEpoch; } /** * Return integer value of time stamp */ public int intValue () { return secPastEpoch; } /** * Return long value of time stamp */ public long longValue () { return (long)secPastEpoch; } /** * Return float value of time stamp */ public float floatValue () { return (secPastEpoch + nsec/(float)1000000000.0); } /** * Return double value of time stamp */ public double doubleValue () { return (secPastEpoch + nsec/1000000000.0); } /** * Return string representation */ public String toString () { Date d = new Date ((long)((long)secPastEpoch*1000)); return d.toString(); } }