Execute the following command:
DSPUSRPRF USRPRF(*ALL) OUTPUT(*OUTFILE) OUTFILE(yourlib/USRPRFS)
In the USRPRFS file created, there is a field that shows a password expiration interval. Any user with a value of -1 in this field specifies that the password never expires.
A zero means when the user was created this parameter was set to *SYSVAL and it uses the system value QPWDEXPITV to determine what the value is.
Any other numeric value means when the user was created the number of days was actually entered on this parameter.
The profile will expose the date of last password change and the password-change interval (e.g., 10 days). The password expiration date is PasswordChangeDate plus PasswordExpirationInterval days. Just add the number of days to the date.
Since the QPWDEXPITV system value can be changed at any time, the profile doesn’t keep a date. It is simply checked against last-change date and interval when signon occurs.