You're right. It's because there's no strftime modifier unless you create one. I could swear that there used to be one, but I can't find it in the code history at GitHub, so I must have dreamed it. Stranger still, the date: modifier calls strftime() rather than date() -- which I think is a bad choice of names because it's confusing and date() uses different format tokens than strftime(). You can create a strftime snippet with the code below, but you might as well do this, since date: will call strftime():
[[*createdon:strtotime:date=`%A %B %d, %Y`]]
/* strftime snippet */
if ( true === isset($options) ) {
$format = $options;
} else {
$format = "%A, %d %B %Y %H:%M:%S";
}
return strftime($format, $input);
BTW, if the date/timestamp is wrong, it's the fault of whatever writes it. Normally, MODX writes the current time() into that field when the resource is first created and then never changes it. Could you be confusing the editedon, createdon, and publishedon fields?
[ed. note: BobRay last edited this post 9 years, 10 months ago.]