115 lines
2.4 KiB
Java
115 lines
2.4 KiB
Java
//-----------------------------------------------------------------------------
|
|
// 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();
|
|
}
|
|
|
|
}
|
|
|