year hora español date_format php time string hebrew localization

hora - timestamp php



Localiza la hora actual en PHP (3)

Intentando mostrar la hora actual con PHP (usando esto ):

$date = date(''m/d/Y h:i:s a'', time()); echo $date;

Tan simple como se pone. ¿Cómo lo localizo? Quiero traducir los meses y días al hebreo.

Gracias.


En realidad, no creo que sea muy posible en PHP 5.2 :-(

Al menos, no con lo que se incluye con / en PHP (Sin embargo, hay bibliotecas codificadas en PHP que podría usar, como otras respuestas señaladas)


Sin embargo, con PHP 5.3, tiene la clase IntlDateFormatter , que hace exactamente lo que quiere:

Esta clase representa la funcionalidad de formateo de fechas de la ICU. Permite a los usuarios mostrar las fechas en un formato localizado o analizar cadenas en valores de fecha de PHP utilizando cadenas de patrones y / o patrones enlatados.

Por ejemplo, usando esa clase, así:

echo IntlDateFormatter::create(''fr_FR'', IntlDateFormatter::FULL, IntlDateFormatter::FULL)->format(time(time())) . "/n"; echo IntlDateFormatter::create(''fr_FR'', IntlDateFormatter::MEDIUM, IntlDateFormatter::SHORT)->format(time(time())) . "/n"; echo IntlDateFormatter::create(''zh-Hant-TW'', IntlDateFormatter::FULL, IntlDateFormatter::FULL)->format(time(time())) . "/n"; echo IntlDateFormatter::create(''zh-Hant-TW'', IntlDateFormatter::MEDIUM, IntlDateFormatter::SHORT)->format(time(time())) . "/n"; echo IntlDateFormatter::create(''en_US'', IntlDateFormatter::FULL, IntlDateFormatter::FULL)->format(time(time())) . "/n"; echo IntlDateFormatter::create(''en_US'', IntlDateFormatter::MEDIUM, IntlDateFormatter::SHORT)->format(time(time())) . "/n";

Tendrás:

dimanche 9 novembre 2008 23:54:47 GMT+00:00 9 nov. 2008 23:54 2008年11月9日星期日 下午11時54分47秒 GMT+00:00 2008/11/9 下午 11:54 Sunday, November 9, 2008 11:54:47 PM GMT+00:00 Nov 9, 2008 11:54 PM

Que se ve bastante bien, ¿no?

Lo triste es que PHP 5.3 tiene solo unos pocos meses, y no está disponible en muchos servicios de alojamiento ... Y requerirá pruebas (y probablemente arreglos) para su aplicación ...


Pensando en eso: tal vez puedas instalar la extensión PECL intl en PHP 5.2, y obtener la misma funcionalidad ...


Zend_Date está completamente internacionalizado. Deberías verificarlo por una manera simple de hacerlo:

Todos los nombres completos y abreviados de meses y días de la semana son compatibles con más de 130 idiomas. Los métodos admiten entrada y salida de fechas usando los nombres localizados de meses y días de la semana, en el formato convencional asociado con cada localidad.


Si necesita una forma más sencilla que Zend_Date e IntlDateFormatter, pruebe la función strftime estándar en php. Aquí está lo que hice para ponerlo en funcionamiento con el idioma ruso ejecutando php 5.3 en Ubuntu (la configuración regional rusa no estaba instalada).

Para instalar la configuración regional

  1. cd /usr/share/locales
  2. sudo ./install-language_pack ru_RU
  3. sudo dpkg-reconfigure locales
  4. Reiniciar Apache

A continuación, use el siguiente fragmento de php:

setlocale(LC_TIME, ''ru_RU.UTF-8''); echo strftime(''%A'', time());

Debería salir hoy el día de la semana.