When using a timestamp in a EIP712 structure it will currently be displayed as a number.
As EIP712 is meant to create human readable data to sign it would be useful to provide a way for the (block.)timestamp to be human readable when signing the structure in MetaMask, but still be easily usable in the contract for comparison to the block timestamp.
This could be done simply by treating any data named ‘timestamp’ as such (possibly allowing the user to toggle back to the simple number format) or define a specific type for this use case.
Use timestamp in EIP712 signatures that are human readable in the MM signing UI and can easily be used in a contract to compare to the block timestamp.
One example is the current use of a nonce in an EIP712 signatures. Some if not all cases would be better served with a human readable timestamp (e.g. expiration of the signature, time the data was signed, …) as currently users are signing data containing the nonce without actually realizing what it actually represents.
In the case of when the data structure is signed, MM could even provide indication if and how much the timestamp differs from the current time (i.e. color coding or other indication)