Sort by custom field – set MySQL date format

If value of your date custom field is not in kind of Year Month Day format (for example: 1970-01-01 or 1970/01/01), WordPress may not able to sort correctly.

To make it work correctly, please specify MySQL date format relates to value of your field.

For example:
date value is Jan 01 1970 => date format is %b %d %Y
date value is 1st/01/1970 => date format is %D/%m/%Y

Please check below table to get correct format for each part in your date value.

Format Value
%a Abbreviated weekday name ( Sun.. Sat)
%b Abbreviated month name ( Jan.. Dec)
%c Month, numeric ( 0.. 12)
%D Day of the month with English suffix ( 0th, 1st, 2nd, 3rd, …)
%d Day of the month, numeric ( 00.. 31)
%e Day of the month, numeric ( 0.. 31)
%f Microseconds ( 000000.. 999999)
%H Hour ( 00.. 23)
%h Hour ( 01.. 12)
%I Hour ( 01.. 12)
%i Minutes, numeric ( 00.. 59)
%j Day of year ( 001.. 366)
%k Hour ( 0.. 23)
%l Hour ( 1.. 12)
%M Month name ( January.. December)
%m Month, numeric ( 00.. 12)
%p AM or PM
%r Time, 12-hour ( hh:mm:ss followed by AM or PM)
%S Seconds ( 00.. 59)
%s Seconds ( 00.. 59)
%T Time, 24-hour ( hh:mm:ss)
%U Week ( 00.. 53), where Sunday is the first day of the week; WEEK() mode 0
%u Week ( 00.. 53), where Monday is the first day of the week; WEEK() mode 1
%V Week ( 01.. 53), where Sunday is the first day of the week; WEEK() mode 2; used with %X
%v Week ( 01.. 53), where Monday is the first day of the week; WEEK() mode 3; used with %x
%W Weekday name ( Sunday.. Saturday)
%w Day of the week ( 0=Sunday.. 6=Saturday)
%X Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V
%x Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v
%Y Year, numeric, four digits
%y Year, numeric (two digits)
%% A literal % character
% x x, for any x not listed above

Source: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format