Не стал особо замарачиваться, готовое не нашел, в результате такой вот велосипед с квадратными колесами:
<?php
$config = [
// Day [01-31]
'd' => [
'mysql' => '%d',
'pgsql' => 'DD',
],
// Weekday name 3 chars [from Mon to Sun]
'D' => [
'mysql' => '%a',
'pgsql' => 'Dy',
],
// Full weekday name [from Sunday to Saturday]
'l' => [
'mysql' => '%W',
'pgsql' => 'Day',
],
// Day of year [001..366](PgSql && MySql)
'z' => [
'mysql' => '%j',
'pgsql' => 'DDD',
],
// Week of year (01..53)
'W' => [
'mysql' => '%v',
'pgsql' => 'IW',
],
// Month, numeric [01..12]
'm' => [
'mysql' => '%m',
'pgsql' => 'MM',
],
// Abbreviated month name [Jan..Dec]
'M' => [
'mysql' => '%b',
'pgsql' => 'Mon',
],
// Year, numeric, four digits
'Y' => [
'mysql' => '%Y',
'pgsql' => 'YYYY',
],
// Year, numeric, two digits
'y' => [
'mysql' => '%y',
'pgsql' => 'YY',
],
// Month name [January..December]
'F' => [
'mysql' => '%M',
'pgsql' => 'Month',
],
];
$datetime = '20160101000001';
$originalFormat = 'd D l z W m M Y y F';
$elements = str_split($originalFormat);
$mySqlFormat = '';
$pgSqlFormat = '';
foreach($elements as $element) {
if(array_key_exists($element, $config)) {
$m = $config[$element]['mysql'];
$p = $config[$element]['pgsql'];
}
$mySqlFormat .= ($m) ? $m : $element;
$pgSqlFormat .= ($p) ? $p : $element;
unset($m, $p);
}
echo "Original format is: {$originalFormat}\n";
echo "MySQL format is: {$mySqlFormat}\n";
echo "PgSQL format is: {$pgSqlFormat}\n";