@SneakyThrows
    public static ZonedDateTime getDateTime() {
        val clazz = CasVersion.class;
        val resource = clazz.getResource(clazz.getSimpleName() + ".class");
        if ("file".equals(resource.getProtocol())) {
            return DateTimeUtils.zonedDateTimeOf(new File(resource.toURI()).lastModified());
        }
        if ("jar".equals(resource.getProtocol())) {
            val path = resource.getPath();
            val file = new File(path.substring(JAR_PROTOCOL_STARTING_INDEX, path.indexOf('!')));
            return DateTimeUtils.zonedDateTimeOf(file.lastModified());
        }
        if ("vfs".equals(resource.getProtocol())) {
            val file = new VfsResource(resource.openConnection().getContent()).getFile();
            return DateTimeUtils.zonedDateTimeOf(file.lastModified());
        }
        LOGGER.warn("Unhandled url protocol: [{}] resource: [{}]", resource.getProtocol(), resource);
        return ZonedDateTime.now(ZoneOffset.UTC);
    }
@ SneakyThrows public static ZonedDateTime getDateTime ( ) { val clazz = CasVersion . class ; val resource = clazz . getResource ( clazz . getSimpleName ( ) + ".class" ) ; if ( "file" . equals ( resource . getProtocol ( ) ) ) { return DateTimeUtils . zonedDateTimeOf ( new File ( resource . toURI ( ) ) . lastModified ( ) ) ; } if ( "jar" . equals ( resource . getProtocol ( ) ) ) { val path = resource . getPath ( ) ; val file = new File ( path . substring ( JAR_PROTOCOL_STARTING_INDEX , path . indexOf ( '!' ) ) ) ; return DateTimeUtils . zonedDateTimeOf ( file . lastModified ( ) ) ; } if ( "vfs" . equals ( resource . getProtocol ( ) ) ) { val file = new VfsResource ( resource . openConnection ( ) . getContent ( ) ) . getFile ( ) ; return DateTimeUtils . zonedDateTimeOf ( file . lastModified ( ) ) ; } LOGGER . warn ( "Unhandled url protocol: [{}] resource: [{}]" , resource . getProtocol ( ) , resource ) ; return ZonedDateTime . now ( ZoneOffset . UTC ) ; }
Gets last modified date/time for the module.

@return the date/time