import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
import java.util.stream.Stream;
 
public class Main {
    public static void main
(String[] args
) {         var dtf 
= DateTimeFormatter.
ofPattern("uuuu-MM-dd'T'HH[:mm[:ss[.SSS]]]", 
Locale.
ENGLISH);        Stream.of(
                "2024-01-17T20",
                "2024-01-17T20:10",
                "2024-01-17T20:10:05",
                "2024-01-17T20:10:05.123"
        ).forEach(s -> {
            var ldt = LocalDateTime.parse(s, dtf);
            var millis = ldt.atZone(ZoneId.systemDefault())
                            .toInstant()
                            .toEpochMilli();
            System.
out.
println(ldt 
+ " -> " + millis
);         });
    }
}
				aW1wb3J0IGphdmEudGltZS5Mb2NhbERhdGVUaW1lOwppbXBvcnQgamF2YS50aW1lLlpvbmVJZDsKaW1wb3J0IGphdmEudGltZS5mb3JtYXQuRGF0ZVRpbWVGb3JtYXR0ZXI7CmltcG9ydCBqYXZhLnV0aWwuTG9jYWxlOwppbXBvcnQgamF2YS51dGlsLnN0cmVhbS5TdHJlYW07CgpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgdmFyIGR0ZiA9IERhdGVUaW1lRm9ybWF0dGVyLm9mUGF0dGVybigidXV1dS1NTS1kZCdUJ0hIWzptbVs6c3NbLlNTU11dXSIsIExvY2FsZS5FTkdMSVNIKTsKICAgICAgICBTdHJlYW0ub2YoCiAgICAgICAgICAgICAgICAiMjAyNC0wMS0xN1QyMCIsCiAgICAgICAgICAgICAgICAiMjAyNC0wMS0xN1QyMDoxMCIsCiAgICAgICAgICAgICAgICAiMjAyNC0wMS0xN1QyMDoxMDowNSIsCiAgICAgICAgICAgICAgICAiMjAyNC0wMS0xN1QyMDoxMDowNS4xMjMiCiAgICAgICAgKS5mb3JFYWNoKHMgLT4gewogICAgICAgICAgICB2YXIgbGR0ID0gTG9jYWxEYXRlVGltZS5wYXJzZShzLCBkdGYpOwogICAgICAgICAgICB2YXIgbWlsbGlzID0gbGR0LmF0Wm9uZShab25lSWQuc3lzdGVtRGVmYXVsdCgpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvSW5zdGFudCgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9FcG9jaE1pbGxpKCk7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihsZHQgKyAiIC0+ICIgKyBtaWxsaXMpOwogICAgICAgIH0pOwogICAgfQp9