$locales[] = $locales[0].'_'.strtoupper($locales[0]);
}
setlocale(LC_TIME, $locales);
- return strftime($this->localizations[$type], $data);
+ $format = $this->localizations[$type];
+ // Check for Windows to find and replace the %e modifier correctly
+ if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
+ $format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format);
+ }
+ return strftime($format, $data);
break;
case 'firstday':
case 'jsdate':