Class Timestamp

java.lang.Object
com.streambase.sb.Timestamp
All Implemented Interfaces:
Serializable, Comparable<Timestamp>

public class Timestamp extends Object implements Comparable<Timestamp>, Serializable
This class represents a Streambase Timestamp. The timestamp can be of two different types: An interval or an offset since the epoch, January 1, 1970 00:00:00.000 GMT (Gregorian).

Note: Serializations of instances of this class that are created (e.g., by using ObjectOutputStream) in one version of StreamBase in general will not be deserializable in any other version of StreamBase.

See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    For use denoting timestamps objects between timestamp and interval types.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The default format for date and time formatting and parsing used by StreamBase: "yyyy-MM-dd HH:mm:ss.SSSZ"
    static final String
    The default format for date and time formatting and parsing used by StreamBase when the timezone is to be ignored: "yyyy-MM-dd HH:mm:ss.SSS"
    static final long
    Deprecated.
    TimestampType now handles the enumeration.
    static final DecimalFormat
    Format of a timestamp interval
    (package private) static final long
    An internal representation of a NULL_TIMESTAMP
    static final long
    Deprecated.
    TimestampType now handles the enumeration.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a Timestamp out of a java.util.Date
  • Method Summary

    Modifier and Type
    Method
    Description
    static Timestamp
    Create a timestamp using the given string
    static Timestamp
    fromString(String dateString)
    Create a timestamp using the given string
    static Timestamp
    fromString(String dateString, com.streambase.sb.util.CSV.FormatInfo format)
    Create a timestamp using the given string and format.
    Return the current type of timestamp
    boolean
    Returns true if this is an interval timestamp; false otherwise
    static Timestamp
    msecs(long timeVal)
    Create a timestamp using only a timeVal
    static Timestamp
    msecs(long type, double ms)
    Deprecated.
    TimestampType type enum replaces use of long type.
    static Timestamp
    msecs(long type, long ms)
    Deprecated.
    TimestampType type enum replaces use of long type.
    static Timestamp
    msecs(Timestamp.Type type, double ms)
    Create a timestamp using the following type and # of milliseconds
    static Timestamp
    msecs(Timestamp.Type type, long ms)
    Create a timestamp using the following type and # of milliseconds
    static Timestamp
    now()
    Create a timestamp using the current time
    static Timestamp
    secs(long type, double secs)
    Deprecated.
    TimestampType type enum replaces use of long type.
    static Timestamp
    secs(long type, long secs)
    Deprecated.
    TimestampType type enum replaces use of long type.
    static Timestamp
    secs(Timestamp.Type type, double secs)
    Create a timestamp using the following type and # of seconds
    static Timestamp
    secs(Timestamp.Type type, long secs)
    Create a timestamp using the following type and # of seconds
    Create a java.util.Date
    long
    Return the # of milliseconds since the epoch or in the interval
    long
    Return the # of seconds since the epoch or in the interval
    Create a java.sql.Date
    Create a java.sql.Timestamp
    Create string representation of this timestamp with the timezone
    toString(boolean includeTimezone)
    Create string representation of this timestamp, optionally include timezone

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • TIMESTAMP

      @Deprecated public static final long TIMESTAMP
      Deprecated.
      TimestampType now handles the enumeration.
      Timestamps can be timestamps or intervals. TIMESTAMP indicates that this is a TIMESTAMP
    • INTERVAL

      @Deprecated public static final long INTERVAL
      Deprecated.
      TimestampType now handles the enumeration.
      Timestamps can be timestamps or intervals. INTERVAL indicates that this is an INTERVAL
    • INTERVAL_FORMAT

      public static final DecimalFormat INTERVAL_FORMAT
      Format of a timestamp interval
    • DATE_FORMAT

      public static final String DATE_FORMAT
      The default format for date and time formatting and parsing used by StreamBase: "yyyy-MM-dd HH:mm:ss.SSSZ"
      See Also:
    • NULL_TIMESTAMP

      static final long NULL_TIMESTAMP
      An internal representation of a NULL_TIMESTAMP
    • DATE_FORMAT_NO_TIMEZONE

      public static final String DATE_FORMAT_NO_TIMEZONE
      The default format for date and time formatting and parsing used by StreamBase when the timezone is to be ignored: "yyyy-MM-dd HH:mm:ss.SSS"
      See Also:
  • Constructor Details

    • Timestamp

      public Timestamp(Date date)
      Create a Timestamp out of a java.util.Date
      Parameters:
      date - a java.util.date
  • Method Details

    • msecs

      public static Timestamp msecs(long timeVal)
      Create a timestamp using only a timeVal
      Parameters:
      timeVal - a long representation of a timeVal structure, with the type in the least significant bit.
      Returns:
      the Timestamp
    • msecs

      public static Timestamp msecs(Timestamp.Type type, long ms)
      Create a timestamp using the following type and # of milliseconds
      Parameters:
      type - either Timestamp.Type.INTERVAL or Timestamp.Type.TIMESTAMP
      ms - An instant in time represented by a millisecond value that is an offset from the Epoch, January 1, 1970 00:00:00.000 GMT (Gregorian).
      Returns:
      the Timestamp
    • msecs

      @Deprecated public static Timestamp msecs(long type, long ms)
      Deprecated.
      TimestampType type enum replaces use of long type.
      Create a timestamp using the following type and # of milliseconds
      Parameters:
      type - either INTERVAL (0) or TIMESTAMP (1)
      ms - An instant in time represented by a millisecond value that is an offset from the Epoch, January 1, 1970 00:00:00.000 GMT (Gregorian).
      Returns:
      timestamp
    • msecs

      public static Timestamp msecs(Timestamp.Type type, double ms)
      Create a timestamp using the following type and # of milliseconds
      Parameters:
      type - either Timestamp.Type.INTERVAL or Timestamp.Type.TIMESTAMP
      ms - An instant in time represented by a millisecond value that is an offset from the Epoch, January 1, 1970 00:00:00.000 GMT (Gregorian).
      Returns:
      the Timestamp
    • msecs

      @Deprecated public static Timestamp msecs(long type, double ms)
      Deprecated.
      TimestampType type enum replaces use of long type.
      Create a timestamp using the following type and # of milliseconds
      Parameters:
      type - either INTERVAL (0) or TIMESTAMP (1)
      ms - An instant in time represented by a millisecond value that is an offset from the Epoch, January 1, 1970 00:00:00.000 GMT (Gregorian).
      Returns:
      the Timestamp
    • secs

      public static Timestamp secs(Timestamp.Type type, long secs)
      Create a timestamp using the following type and # of seconds
      Parameters:
      type - either Timestamp.Type.INTERVAL or Timestamp.Type.TIMESTAMP
      secs - An instant in time represented by a second value that is an offset from the Epoch, January 1, 1970 00:00:00.000 GMT (Gregorian).
      Returns:
      the Timestamp
    • secs

      @Deprecated public static Timestamp secs(long type, long secs)
      Deprecated.
      TimestampType type enum replaces use of long type.
      Create a timestamp using the following type and # of seconds
      Parameters:
      type - either INTERVAL (0) or TIMESTAMP (1)
      secs - An instant in time represented by a second value that is an offset from the Epoch, January 1, 1970 00:00:00.000 GMT (Gregorian).
      Returns:
      the Timestamp
    • secs

      public static Timestamp secs(Timestamp.Type type, double secs)
      Create a timestamp using the following type and # of seconds
      Parameters:
      type - either Timestamp.Type.INTERVAL or Timestamp.Type.TIMESTAMP
      secs - An instant in time represented by a second value that is an offset from the Epoch, January 1, 1970 00:00:00.000 GMT (Gregorian).
      Returns:
      the Timestamp
    • secs

      @Deprecated public static Timestamp secs(long type, double secs)
      Deprecated.
      TimestampType type enum replaces use of long type.
      Create a timestamp using the following type and # of seconds
      Parameters:
      type - either INTERVAL (0) or TIMESTAMP (1)
      secs - An instant in time represented by a second value that is an offset from the Epoch, January 1, 1970 00:00:00.000 GMT (Gregorian).
      Returns:
      the Timestamp
    • now

      public static Timestamp now()
      Create a timestamp using the current time
      Returns:
      the Timestamp
    • fromString

      public static Timestamp fromString(CharSequence dateString) throws StreamBaseException
      Create a timestamp using the given string
      Parameters:
      dateString - string containing a date/time, or an interval. date/time format: "YYYY-MM-DD HH:MM:SS.SSS+TTTT". For example, "2005-01-07 11:09:37.000-0500" where -0500 indicates Eastern Standard Time. The timezone is optional, as are the fractional seconds. Interval format: "SS.SSS", seconds and fractional seconds
      Returns:
      the Timestamp
      Throws:
      StreamBaseException - when unable to parse as a timestamp
      Since:
      6.5
    • fromString

      public static Timestamp fromString(String dateString) throws StreamBaseException
      Create a timestamp using the given string
      Parameters:
      dateString - string containing a date/time, or an interval. date/time format: "YYYY-MM-DD HH:MM:SS.SSS+TTTT". For example, "2005-01-07 11:09:37.000-0500" where -0500 indicates Eastern Standard Time. The timezone is optional, as are the fractional seconds. Interval format: "SS.SSS", seconds and fractional seconds
      Returns:
      the Timestamp
      Throws:
      StreamBaseException - when unable to parse as a timestamp
    • fromString

      public static Timestamp fromString(String dateString, com.streambase.sb.util.CSV.FormatInfo format) throws StreamBaseException
      Create a timestamp using the given string and format. Assumption: If format is present, the dateString may not represent an interval
      Parameters:
      dateString - Date string
      format - Format
      Returns:
      a timestamp Timestamp value
      Throws:
      StreamBaseException - Error creating timestamp
    • isInterval

      public boolean isInterval()
      Returns true if this is an interval timestamp; false otherwise
      Returns:
      true if an interval type
    • getType

      public Timestamp.Type getType()
      Return the current type of timestamp
      Returns:
      the current type of the timestamp (INTERVAL or TIMESTAMP)
    • toDate

      public Date toDate()
      Create a java.util.Date
      Returns:
      a java.util.Date
    • toSQLDate

      public Date toSQLDate()
      Create a java.sql.Date
      Returns:
      a java.sql.Date
    • toSQLTimestamp

      public Timestamp toSQLTimestamp()
      Create a java.sql.Timestamp
      Returns:
      a java.sql.Timestamp
    • toMsecs

      public long toMsecs()
      Return the # of milliseconds since the epoch or in the interval
      Returns:
      Milliseconds
    • toSecs

      public long toSecs()
      Return the # of seconds since the epoch or in the interval
      Returns:
      Seconds
    • toString

      public String toString(boolean includeTimezone)
      Create string representation of this timestamp, optionally include timezone
      Parameters:
      includeTimezone - include the timezone?
      Returns:
      String representaion of this timestamp
    • toString

      public String toString()
      Create string representation of this timestamp with the timezone
      Overrides:
      toString in class Object
      Returns:
      String representaion of this timestamp