OP_CHECKLOCKTIMEVERIFY ( previously
CHECKLOCKTIMEVERIFY (CLTV) marks transaction as invalid if the top stack item is greater than the transaction's nLockTime field, otherwise script evaluation continues as though an OP_NOP was executed.
Transaction is also invalid if 1. the stack is empty; or 2. the top stack item is negative; or 3. the top stack item is greater than or equal to 500000000 while the transaction's nLockTime field is less than 500000000, or vice versa; or 4. the input's nSequence field is equal to 0xffffffff.
The precise semantics are described in Peter Todd's BIP 65.
A transaction spending from a CLTV output can only be broadcast AFTER the time lock has expired.
Network nodes will reject it if it is broadcast before the time lock expiry, with a Locktime requirement not satisfied error message.
Unlike CHECKSEQUENCEVERIFY which sets a relative locktime, CLTV locks bitcoins up until a specific, absolute time in the future.