strftime

(PHP 3, PHP 4, PHP 5)

strftime -- Dar formato a una hora/fecha local de acuerdo a valores de localidad

Descripción

string strftime ( string formato [, int marca_de_tiempo] )

Devuelve una cadena con formato de acuerdo a la cadena de formato dada usando la marca_de_tiempo dada o la hora local si no se entrega una marca de tiempo. Los nombres de mes y día de la semana y otras cadenas dependientes del idioma respetan la localidad actual definida con setlocale().

Los siguientes especificadores de conversión son reconocidos en la cadena de formato:

Nota: Puede que no todos los especificadores de conversión estén soportados por su biblioteca de C, en cuyo caso no serán soportados por la función strftime() de PHP. Adicionalmente, no todas las plataformas soportan marcas de tiempo negativas, por lo tanto su rango de fecha puede estar limitado a fechas no anteriores que el Epoch Unix. Esto quiere decir que p.ej. %e, %T, %R y %D (pueden haber más) y fechas anteriores a Ene 1, 1970 no funcionarán en Windows, algunas distribuciones de Linux, y algunos otros pocos sistemas operativos. Para sistemas Windows, una sinopsis completa de los especificadores de conversión soportados puede encontrarse en elsitio web de MSDN.

Ejemplo 1. Ejemplo de strftime() con localidad

<?php
setlocale
(LC_TIME, "C");
echo
strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo
strftime(" en Finland&eacute;s es %A,");
setlocale(LC_TIME, "fr_FR");
echo
strftime(" en Franc&eacute;s %A y");
setlocale(LC_TIME, "de_DE");
echo
strftime(" en Alem&aacute;n %A.\n");
?>
Este ejemplo funciona si tiene las localidades respectivas instaladas en su sistema.

Nota: %G y %V, que están basados en números de semana ISO 8601:1988 pueden dar resultados inesperados (aunque correctos) si el sistema de numeración no es entendido completamente. Vea %V explicado anteriormente y el siguiente ejemplo.

Ejemplo 2. Ejemplo del número de semana ISO 8601:1988

<?php
/*     Diciembre 2002 / Enero 2003
SmISO  L   M   Mi  J   V   S   D
----- ----------------------------
51     16  17  18  19  20  21  22
52     23  24  25  26  27  28  29
1      30  31   1   2   3   4   5
2       6   7   8   9  10  11  12
3      13  14  15  16  17  18  19   */

// Imprime: 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";

// Imprime: 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";

// Imprime: 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

// Imprime: 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";



/*     Diciembre 2004 / Enero 2005
SmISO  L   M   Mi  J   V   S   D
----- ----------------------------
51     13  14  15  16  17  18  19
52     20  21  22  23  24  25  26
53     27  28  29  30  31   1   2
1       3   4   5   6   7   8   9
2      10  11  12  13  14  15  16   */

// Imprime: 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

// Imprime: 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

// Imprime: 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

// Imprime: 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>

Vea también setlocale(), mktime(), strptime(), y la especificación del Open Group de strftime().

Hosting by: hurra.com
Generated: 2007-01-26 18:01:07