I saw the below link.
https://raw.githubusercontent.com/Refinitiv/Real-Time-SDK/master/Java/etc/RDMFieldDictionary
But I can't understand the difference between "SALTIM_MS" and "QUOTIM_MS".
I find out that the "SALTIM_MS", "QUOTIM_MS" seems to be appeared together at each trade data.
Can you explain these fields clearly??
I wrote a test code
import java.time.Instant; import java.time.OffsetDateTime; import java.time.ZoneId; import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; public class JustTestTest { private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS.ZZZ"); @Test @DisplayName("SALTIM_MS, QUOTIM_MS COMPARISON ... ") public void test1(){ // test case 1) // "SALTIM_MS":"74190165" "QUOTIM_MS":"59062944" OffsetDateTime saltim_ms1 = processMilliSecondField("74190165"); OffsetDateTime quotim_ms1 = processMilliSecondField("59062944"); String string1 = formatString(saltim_ms1.format(formatter), quotim_ms1.format(formatter)); System.out.println(string1); System.out.println(); // test case 2) // "SALTIM_MS":"75014899" "QUOTIM_MS":"75017913" OffsetDateTime saltim_ms2 = processMilliSecondField("75014899"); OffsetDateTime quotim_ms2 = processMilliSecondField("75017913"); String string2 = formatString(saltim_ms2.format(formatter), quotim_ms2.format(formatter)); System.out.println(string2); System.out.println(); // test case 3) // "SALTIM_MS":"74828357" "QUOTIM_MS":"75000573" OffsetDateTime saltim_ms3 = processMilliSecondField("74828357"); OffsetDateTime quotim_ms3 = processMilliSecondField("75000573"); String string3 = formatString(saltim_ms3.format(formatter), quotim_ms3.format(formatter)); System.out.println(string3); System.out.println(); } public OffsetDateTime processMilliSecondField(String timeStr){ OffsetDateTime serverTodayUTCMilli = ZonedDateTime.now(ZoneId.of("Etc/UTC")) .withZoneSameLocal(ZoneId.of("Etc/UTC")) .truncatedTo(ChronoUnit.DAYS) .toOffsetDateTime(); long timeMilli = Long.parseLong(timeStr); Long tradeMilli = serverTodayUTCMilli.toInstant().toEpochMilli() + timeMilli; OffsetDateTime offsetDateTime = OffsetDateTime.ofInstant(Instant.ofEpochMilli(tradeMilli), ZoneOffset.UTC); return offsetDateTime; } public String formatString (String saltim_ms, String quotim_ms){ StringBuilder builder = new StringBuilder(); builder.append("SALTIM_MS = ").append(saltim_ms).append(", ") .append("QUOTIM_MS = ").append(quotim_ms).append("."); return builder.toString(); } }
And. I ran it, the result is like below text.
SALTIM_MS = 2022-03-01T20:36:30.165.+0000, QUOTIM_MS = 2022-03-01T16:24:22.944.+0000. SALTIM_MS = 2022-03-01T20:50:14.899.+0000, QUOTIM_MS = 2022-03-01T20:50:17.913.+0000. SALTIM_MS = 2022-03-01T20:47:08.357.+0000, QUOTIM_MS = 2022-03-01T20:50:00.573.+0000.