Class DateTimeAttribute

    • Field Detail

      • MAX_LENGTH_SINGLE_VALUE

        protected static final int MAX_LENGTH_SINGLE_VALUE
        See Also:
        Constant Field Values
    • Constructor Detail

      • DateTimeAttribute

        public DateTimeAttribute​(AttributeTag t)

        Construct an (empty) attribute.

        Parameters:
        t - the tag of the attribute
      • DateTimeAttribute

        public DateTimeAttribute​(AttributeTag t,
                                 long vl,
                                 DicomInputStream i)
                          throws java.io.IOException,
                                 DicomException

        Read an attribute from an input stream.

        Parameters:
        t - the tag of the attribute
        vl - the value length of the attribute
        i - the input stream
        Throws:
        java.io.IOException - if an I/O error occurs
        DicomException - if error in DICOM encoding
      • DateTimeAttribute

        public DateTimeAttribute​(AttributeTag t,
                                 java.lang.Long vl,
                                 DicomInputStream i)
                          throws java.io.IOException,
                                 DicomException

        Read an attribute from an input stream.

        Parameters:
        t - the tag of the attribute
        vl - the value length of the attribute
        i - the input stream
        Throws:
        java.io.IOException - if an I/O error occurs
        DicomException - if error in DICOM encoding
    • Method Detail

      • getVR

        public byte[] getVR()

        Get the value representation of this attribute (DT).

        Overrides:
        getVR in class Attribute
        Returns:
        'D','T' in ASCII as a two byte array; see ValueRepresentation
      • getFormattedString

        public static java.lang.String getFormattedString​(java.util.Date date,
                                                          java.util.TimeZone timezone,
                                                          boolean tzSuffix)

        Get a DICOM format DT String value from a Java Date.

        Will format the Date for the specified timezone.

        Parameters:
        date - the Java Date to format
        timezone - the Java TimeZone to use
        tzSuffix - whether or not to append the time zone suffix
        Returns:
        a DICOM formatted DT value
      • getFormattedString

        public static java.lang.String getFormattedString​(java.util.Date date,
                                                          java.util.TimeZone timezone)

        Get a DICOM format DT String value from a Java Date.

        Will format the Date for the specified timezone.

        Will include the timezone suffix.

        Parameters:
        date - the Java Date to format
        timezone - the Java TimeZone to use
        Returns:
        a DICOM formatted DT value
      • getFormattedStringUTC

        public static java.lang.String getFormattedStringUTC​(java.util.Date date)

        Get a DICOM format DT String value from a Java Date.

        Will format the Date for the UTC timezone, converting from whatever timezone is specified in the supplied Date if not UTC.

        Parameters:
        date - the Java Date to format
        Returns:
        a DICOM formatted DT value
      • getFormattedStringDefaultTimeZone

        public static java.lang.String getFormattedStringDefaultTimeZone​(java.util.Date date)

        Get a DICOM format DT String value from a Java Date.

        Will format the Date for the default timezone, converting from whatever timezone is specified in the supplied Date if not the default.

        Parameters:
        date - the Java Date to format
        Returns:
        a DICOM formatted DT value
      • getFormattedString

        public static java.lang.String getFormattedString​(java.util.Date date)

        Get a DICOM format DT String value from a Java Date.

        Will format the Date for the default timezone, converting from whatever timezone is specified in the supplied Date if not the default.

        Parameters:
        date - the Java Date to format
        Returns:
        a DICOM formatted DT value
      • getDateFromFormattedString

        public static java.util.Date getDateFromFormattedString​(java.lang.String dateString)
                                                         throws java.text.ParseException

        Get a Java Date from a DICOM format DT String value.

        Parameters:
        dateString - the date to parse
        Returns:
        a Java Date
        Throws:
        java.text.ParseException - if incorrectly encoded
      • getDateFromFormattedString

        public static java.util.Date getDateFromFormattedString​(AttributeList list,
                                                                AttributeTag dateTag,
                                                                AttributeTag timeTag)
                                                         throws java.text.ParseException,
                                                                DicomException

        Get a Java Date from a DICOM format DT String value.

        Will use the TimezoneOffsetFromUTC if present in the AttributeList, else will assume UTC (not whatever the local time zone happens to be).

        Parameters:
        list - the list containing the attributes
        dateTag - the tag of the DA attribute
        timeTag - the tag of the TM attribute
        Returns:
        a Java Date
        Throws:
        java.text.ParseException - if incorrectly encoded
        DicomException - if date attribute is missing or empty
      • getTimeZone

        public static java.util.TimeZone getTimeZone​(java.lang.String dicomTimeZone)

        Get a Java TimeZone from a DICOM format String time zone.

        E.g. from +0500 or -0700, the last component of a DateTime attribute value, or the value of the DICOM attribute TimezoneOffsetFromUTC.

        Parameters:
        dicomTimeZone - the String DICOM format time zone
        Returns:
        a Java TimeZone representing the supplied time zone, or the GMT zone if it cannot be understood
      • getTimeZone

        public static java.lang.String getTimeZone​(java.util.TimeZone javaTimeZone,
                                                   java.util.Date javaDate)

        Get a DICOM format String time zone from a Java TimeZone on a particular Java Date .

        E.g. from +0500 or -0700, the last component of a DateTime attribute value, or the value of the DICOM attribute TimezoneOffsetFromUTC.

        Parameters:
        javaTimeZone - the TimeZone time zone
        javaDate - the Date used to establish whether daylight savings is in effect or not
        Returns:
        a DICOM format String time zone representing the supplied time zone on the supplied date
      • getCurrentTimeZone

        public static java.lang.String getCurrentTimeZone()

        Get a DICOM format String time zone representation of the current timezone.

        E.g. from +0500 or -0700, the last component of a DateTime attribute value, or the value of the DICOM attribute TimezoneOffsetFromUTC.

        Returns:
        a DICOM format String time zone representing the current time zone on the current date
      • getTimeInMilliSecondsSinceEpoch

        public static long getTimeInMilliSecondsSinceEpoch​(java.lang.String dateTime)
                                                    throws java.text.ParseException

        Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by the DT value.

        Parameters:
        dateTime - the string to parse
        Returns:
        the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this date; may be a ludicrous value if string not formatted correctly
        Throws:
        java.text.ParseException - if incorrectly encoded
      • getTimeInMilliSecondsSinceEpoch

        public static long getTimeInMilliSecondsSinceEpoch​(AttributeList list,
                                                           AttributeTag dateTag,
                                                           AttributeTag timeTag)
                                                    throws java.text.ParseException,
                                                           DicomException

        Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by the combination of the DA and TM values of the specified pair of attributes.

        Will use the TimezoneOffsetFromUTC if present in the AttributeList, else will assume UTC (not whatever the local time zone happens to be).

        Parameters:
        list - the list containing the attributes
        dateTag - the tag of the DA attribute
        timeTag - the tag of the TM attribute
        Returns:
        the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this date
        Throws:
        java.text.ParseException - if incorrectly encoded
        DicomException - if date attribute is missing or empty