common/src/main/java/com/streamsets/pipeline/lib/parser/shaded/org/apache/catalina/util/Strftime.java
protected boolean translateCommand( StringBuilder buf, String pattern, int index, boolean oldInside ) {
        char firstChar = pattern.charAt( index );
        boolean newInside = oldInside;

        //O and E are modifiers, they mean to present an alternative representation of the next char
        //we just handle the next char as if the O or E wasn't there
        if ( firstChar == 'O' || firstChar == 'E' ) {
            if ( index + 1 < pattern.length() ) {
                newInside = translateCommand( buf, pattern, index + 1, oldInside );
            } else {
                buf.append( quote("%" + firstChar, oldInside ) );
            }
        } else {
            String command = translate.getProperty( String.valueOf( firstChar ) );

            //If we don't find a format, treat it as a literal--That's what apache does
            if ( command == null ) {
                buf.append( quote( "%" + firstChar, oldInside ) );
            } else {
                //If we were inside quotes, close the quotes
                if ( oldInside ) {
                    buf.append( '\'' );
                }
                buf.append( command );
                newInside = false;
            }
        }
        return newInside;
    }
protected boolean translateCommand( StringBuilder buf, String pattern, int index, boolean oldInside ) {
        char firstChar = pattern.charAt( index );
        boolean newInside = oldInside;

        //O and E are modifiers, they mean to present an alternative representation of the next char
        //we just handle the next char as if the O or E wasn't there
        if ( firstChar == 'O' || firstChar == 'E' ) {
            if ( index + 1 < pattern.length() ) {
                newInside = translateCommand( buf, pattern, index + 1, oldInside );
            } else {
                buf.append( quote("%" + firstChar, oldInside ) );
            }
        } else {
            String command = translate.getProperty( String.valueOf( firstChar ) );

            //If we don't find a format, treat it as a literal--That's what apache does
            if ( command == null ) {
                buf.append( quote( "%" + firstChar, oldInside ) );
            } else {
                //If we were inside quotes, close the quotes
                if ( oldInside ) {
                    buf.append( '\'' );
                }
                buf.append( command );
                newInside = false;
            }
        }
        return newInside;
    }
protected boolean translateCommand ( StringBuilder buf , String pattern , int index , boolean oldInside ) { char firstChar = pattern . charAt ( index ) ; boolean newInside = oldInside ; //O and E are modifiers, they mean to present an alternative representation of the next char //we just handle the next char as if the O or E wasn't there if ( firstChar == ' ' || firstChar == ' ' ) { if ( index + 1 < pattern . length ( ) ) { newInside = translateCommand ( buf , pattern , index + 1 , oldInside ) ; } else { buf . append ( quote ( "%" + firstChar , oldInside ) ) ; } } else { String command = translate . getProperty ( String . valueOf ( firstChar ) ) ; //If we don't find a format, treat it as a literal--That's what apache does if ( command == null ) { buf . append ( quote ( "%" + firstChar , oldInside ) ) ; } else { //If we were inside quotes, close the quotes if ( oldInside ) { buf . append ( ' ' ) ; } buf . append ( command ) ; newInside = false ; } } return newInside ; }
Try to get the Java Date/Time formatting associated with
the C standard provided.

@param buf The buffer
@param pattern The date/time pattern
@param index The char index
@param oldInside Flag value
@return True if new is inside buffer
Try to get the Java Date / Time formatting associated with the C standard provided .