Files
cdev-1.7.2n/extensions/cdevGenericServer/NameServer/java/rsvcTimeStamp.java
2022-12-13 12:44:04 +01:00

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();
}
}