In your previous code you are retrieving the Time value.
The issue of value range for value representation of Data or Time or Date & Time is only valid for a request by client to the server for range matching. So the query response from server will never have a value range in element with VR of Date. In this case, you can just call GetDateValue or to get the string call GetConvertValue.
Following are the expected format when GetBinaryValue is called to get the date range on an element with VR of DA:
a) A string of the form <date1> - <date2>, where <date1> is less or equal to <date2>, shall match all occurrences of dates which fall between <date1> and <date2> inclusive.
b) A string of the form <date1> shall match all occurrences of dates prior to and including <date1>.
c) A string of the form <date1> - shall match all occurrences of <date1> and subsequent dates.
The formatting for Date value (VR of DA) is:
YYYYMMDD
The formatting for Date Time value (VR of DT) is:
YYYYMMDDHHMMSS.FFFFFF&ZZXX
The components of this string, from left to right, are YYYY = Year, MM = Month, DD = Day, HH = Hour (range "00" - "23"), MM =Minute (range "00" - "59"), SS = Second (range "00" - "60").
FFFFFF = Fractional Second contains a fractional part of a second as small as 1 millionth of a second (range 000000 - 999999).
ZZXX is an optional suffix for offset from Coordinated Universal Time (UTC), where = "+" or "-", and ZZ = Hours and XX = Minutes of offset.
Datetime range matching:
a) A string of the form <datetime1> - <datetime2>, where <datetime1> is less or equal to <datetime2>, shall match all moments in time which fall between <datetime1> and <datetime2> inclusive.
b) A string of the form <datetime1> shall match all moments in time prior to and including <datetime1>.
c) A string of the form <datetime1> shall match all moments in time subsequent to and including <datetime1>.
d) The offset from Universal Coordinated Time, if present in the Value of the Attribute, shall be taken into account for the purposes of the match.