Esto me sirve a mi:
Código PHP:
<?php
header( "Content-type: text/plain" );
/* Ingles por defecto */
echo strftime("%A %d %B %Y", mktime());
echo "\n";
/* Probar con Español */
setlocale( LC_ALL, 'spanish-modern' );
echo strftime("%A %d %B %Y", mktime());
echo "\n";
?>
En Apache 1.3, PHP 5.1.4, WinXP SP2, ahora deberias de ver la documentacion, date(), no soporta el uso de setlocale, por eso debes de usar strftime, que si aprovecha de esa caracteristica.