Menú
Está libre
registro
hogar  /  Educación/ Php Nombres rusos de meses. Representación de fecha y hora

Php nombres rusos de meses. Representación de fecha y hora

JavaScript está bloqueado en su navegador. ¡Habilite JavaScript para que el sitio funcione!

Representación de fecha y hora

V sistemas distribuidos, como Internet, el tiempo juega un papel especial. Debido a una ligera discrepancia en el reloj del sistema, un jugador en el mercado Forex puede perder decenas de miles de dólares en unos pocos minutos; el sistema de inteligencia empresarial cometerá un error en la previsión; Los servidores NNTP perderán su información importante requerido por el usuario, etc.

PHP contiene muchas funciones para trabajar con fecha y hora. Los más utilizados son:

  • tiempo ()- devuelve el tiempo absoluto actual. Este número es igual al número de segundos que han pasado desde la medianoche del 1 de enero de 1970 (desde el comienzo de la era UNIX).
  • obtener la fecha ()- lee información sobre la fecha y la hora. Devuelve una matriz asociativa que contiene información para el tiempo especificado o para el tiempo actual (por defecto). La matriz contiene los siguientes elementos:

    Ejemplo 1

    Usando getdate () $ val) echo "$ clave = $ val
    "; eco"
    Hoy: $ d. $ D. $ D ";?>

    RESULTADO DEL EJEMPLO 1:

    Segundos = 21 minutos = 4 horas = 12 mdía = 10 semana = 4 lunes = 11 año = 2005 año = 313 día laborable = jueves mes = noviembre 0 = 1131613461 Hoy: 10/11/2005

  • fecha ()- formato de fecha y hora. Argumentos: cadena de formato y tiempo absoluto. El segundo argumento es opcional. Devuelve una cadena con la fecha actual o especificada en el formato especificado. La cadena de formato puede contener los siguientes códigos:
    a
    ADesignación incluida "AM" o "PM"
    DDía del mes (01-31)
    DNombre abreviado del día de la semana (tres letras)
    FNombre del mes completo
    gramoHoras (formato de 12 horas sin ceros a la izquierda)
    GRAMOHoras (formato de 24 horas sin ceros a la izquierda)
    hReloj (formato de 12 horas)
    HReloj (formato de 24 horas)
    IMinutos (00-59)
    jDía del mes sin ceros a la izquierda (1-31)
    lNombre completo del día de la semana
    LAño bisiesto (0 o 1)
    metroMes (01-12)
    METRONombre del mes abreviado (tres letras)
    norteMes (1-12)
    sSegundos (00-59)
    tNúmero de días en un mes determinado (28 a 31)
    UTiempo absoluto
    w
    yAño (dos dígitos)
    YAño (cuatro dígitos)
    zDía del año (0-365)
    ZDesplazamiento de zona horaria en segundos (-43200 a 43200)

    Cualquier otra información incluida en la cadena de formato se insertará en la cadena devuelta. Si desea agregar caracteres a la cadena de formato que son códigos de formato en sí mismos, debe precederlos con una barra invertida "\". Los caracteres que se convierten en códigos de formato cuando se agregan con una barra invertida deben ir precedidos de dos barras diagonales. Por ejemplo, si desea agregar "n" a una cadena, debe ingresar "\\ n" porque "\ n" es un carácter de nueva línea.

    Ejemplo 2

    Usando fecha ()

    RESULTADO DEL EJEMPLO 2:

    Hoy: 10.11.05 13:03

  • mktime (): devuelve la hora absoluta, que luego se puede usar con las funciones date () o getdate (). Acepta hasta seis argumentos enteros en el siguiente orden:

    Mirar
    minutos
    segundos
    mes
    dia del mes
    año

    Ejemplo 3

    Usando mktime ()

    RESULTADO DEL EJEMPLO 3:

  • comprobar Fecha ()- comprobar la exactitud de la fecha. Argumentos: mes, día, año. Devuelve verdadero si la fecha es correcta, es decir.
    mes: un número entero de 1 a 12;
    día es un número entero que no excede el número total de días en un mes determinado. En este caso, los años bisiestos se manejan correctamente;
    año es un número entero de 1 a 32767.

    Por ejemplo:

    If (! Checkdate ($ mes, 1, $ año)) ($ d = getdate (); $ mes = $ d; $ año = $ d;)

    ¡Atención! La fecha puede estar en un rango válido, pero otras funciones de fecha no aceptarán este valor. Por lo tanto, no puede usar mktime () durante años antes de 1902, y también debe usarlo con cuidado durante los años anteriores a 1970.

  • strftime ()- formación de la fecha y hora local. Argumentos: cadena de formato y tiempo absoluto. El segundo argumento es opcional. Devuelve una cadena con la fecha actual o especificada en el formato especificado. En este caso, los nombres de los meses y días de la semana se extraen de la configuración regional seleccionada mediante la función de formato de cadena que puede contener los siguientes códigos:
    % aNombre abreviado del día de la semana
    % ANombre completo del día de la semana
    % BNombre del mes abreviado
    % BNombre del mes completo
    % CFormato de fecha y hora preferido
    % CNúmero de siglo
    % DDía del mes (1-31)
    % DIgual que % m /% d /% y
    % eMes (1-12)
    % hIgual que % B
    % HReloj (formato de 24 horas)
    % IReloj (formato de 12 horas)
    % jDía del año (0-365)
    % mMes (1-12)
    % MMinutos
    % nCarácter de nueva línea
    % pagSe incluye la designación "am" o "pm"
    % rHora usando la anotación a.m./p.m.
    % RHora en formato de 24 horas
    % SSegundos (00-59)
    % tCarácter de tabulación
    % TIgual que % H:% M:% S
    % uNúmero de día de la semana (1 - lunes, 7 - domingo)
    % UNúmero de la semana. La cuenta regresiva comienza desde el primer domingo del año
    % VISO 8601: Número de semana de 1988. La primera semana debe tener al menos cuatro días, y el lunes se considera el primer día.
    % WNúmero de la semana. La cuenta regresiva comienza desde el primer lunes del año
    % wNúmero de día de la semana (0 - domingo, 6 - sábado)
    % XFormato de fecha preferido sin hora
    % XFormato de hora preferido sin fecha
    % yAño (dos dígitos)
    % YAño (cuatro dígitos)
    % ZZona horaria (nombre o abreviatura)
    %% Símbolo "%"

    Cualquier otra información incluida en la cadena de formato se insertará en la cadena devuelta.

Comentario: Para la mayoría de los sistemas, las fechas válidas son desde el 13 de diciembre de 1901 a las 20:45:54 GMT hasta el 19 de enero de 2038 a las 03:14:07 GMT. (Estas fechas corresponden al valor mínimo y máximo de un entero de 32 bits con signo). Para Windows, las fechas válidas son del 01-01-1970 al 01.19-2038.

Comentario: Para obtener una marca de tiempo de una representación de cadena de una fecha, puede usar la función strtotime ()... Además, algunas bases de datos tienen sus propias funciones para convertir la representación de la fecha interna en una marca de tiempo (por ejemplo, la función MySQL UNIX_TIMESTAMP).


$ mañana = mktime (0, 0, 0, fecha ("m"), fecha ("d") + 1, fecha ("Y"));
$ lastmonth = mktime (0, 0, 0, date ("m") - 1, date ("d"), date ("Y"));
$ siguienteaño = mkhora (0, 0, 0, fecha ("m"), fecha ("d"), fecha ("Y") + 1);
?>

Comentario: Este método es más confiable que restar y agregar segundos a la marca de tiempo porque mktime () tiene en cuenta cualquier ambigüedad en las fechas (transición al horario de verano / invierno, etc.).

Aquí hay algunos ejemplos más del uso de la función. fecha ()... Recuerde escapar cualquier carácter que desee que la función genere sin cambios. Esto también se aplica a los personajes que están en el actual Versiones PHP no se reconocen como especiales, ya que a estos caracteres se les puede asignar un significado en versiones futuras. Utilice comillas simples para evitar convertir \ n en una nueva línea.


Ejemplo 4. Formateo usando fecha ()

A veces, en las páginas del sitio es necesario mostrar no solo una fecha digital como 23.07.2015 , e inmediatamente la fecha rusa, en la que mes sera escrito Nombre ruso... Y ella se verá así 23 de julio de 2015.

Preguntas: "¿Por qué es esto necesario?" Y esto es necesario en primer lugar para una mejor percepción visual de la fecha, ya que el formato de primera fecha ya estándar para muchos sitios, que consta solo de números con puntos, se percibe mucho peor que cuando el día y el año están separados por la palabra- nombre del mes. En este caso, puede comprender mucho más rápido a partir de qué fecha este mes y año.

Pero, lo que es más interesante, la función de fecha y hora estándar y bastante útil date () solo puede mostrar el nombre del mes en idioma en Inglés (Enero a diciembre), es decir, use el parámetro F esta función no nos funcionará.

Aquí necesitamos un enfoque diferente, que consiste en sustituir el valor numérico del mes en lugar de (de 1 a 12) la palabra rusa para este mes. Suena complicado en palabras, por lo que propongo mostrar la fecha actual de esta manera como ejemplo:

// lista de meses con nombres para reemplazar $ _monthsList = array (". 01." => "Enero", ".02." => "Febrero", ".03." => "Marzo", ".04 . "=>" Abril "," .05. "=>" Mayo "," .06. "=>" Junio ​​"," .07. "=>" Julio "," .08. "=>" Agosto "," .09. "=>" Septiembre "," .10. "=>" Octubre "," .11. "=>" Noviembre "," .12. "=>" Diciembre "); // fecha actual $ currentDate = date ("d.m.Y"); // la variable $ currentDate ahora almacena la fecha actual en el formato 07.22.2015 // pero como nuestra tarea es mostrar la fecha rusa, // reemplazamos el día del mes con el nombre: $ _mD = date (". metro."); // para reemplazar $ currentDate = str_replace ($ _ mD, "". $ _ monthsList [$ _ mD]. "", $ currentDate); // ahora la variable $ currentDate almacena la fecha en el formato 22 de junio de 2015

Retirar solo uno solo el mes actual en ruso es aún más fácil:

$ _monthsList = array ("1" => "enero", "2" => "febrero", "3" => "marzo", "4" => "abril", "5" => "mayo", "6" => "junio", "7" => "julio", "8" => "agosto", "9" => "septiembre", "10" => "octubre", "11" => "Noviembre", "12" => "diciembre"); $ mes = $ _monthsList; echo $ mes; // muestra, por ejemplo, para el séptimo mes "julio"

Bueno, para lo que estaría a la mano (esto sigue siendo una nota), considere algunos más ejemplos reales, que, por regla general, hay que afrontar en la práctica. Hagámoslos subtítulos por conveniencia.

Visualización del nombre ruso del mes en la fecha del formato habitual, por ejemplo, 03/12/2015

Este caso es, en principio, casi el mismo que el descrito anteriormente, la única diferencia es que $ currentDate será inicialmente establecido por el código antes. Y se verá así:

// fecha actual $ currentDate = "03/12/2015"; // se puede asignar desde otra variable // lista de meses con nombres para reemplazar $ _monthsList = array (". 01." => "enero", ".02." => "febrero", ".03." = > "Marzo", ".04." => "Abril", ".05." => "Mayo", ".06." => "Junio", ".07." => "Julio", " . 08. "=>" Agosto "," .09. "=>" Septiembre "," .10. "=>" Octubre "," .11. "=>" Noviembre "," .12. "=> "Diciembre"); // Nuestra tarea es mostrar la fecha rusa, // entonces reemplazamos el día del mes con el nombre: $ _mD = date (". M."); // para reemplazar $ currentDate = str_replace ($ _ mD, "". $ _ monthsList [$ _ mD]. "", $ currentDate); // ahora la variable $ currentDate almacena la fecha en el formato 12 de marzo de 2015

Como resultado, después de una pequeña manipulación, obtenemos la fecha de salida correcta.

Salida de fecha en ruso a partir del formato de marca de tiempo Unix, por ejemplo 1437556706

Procesar una fecha de este tipo es lo más interesante, ya que aquí debe combinar las técnicas de cambio de la fecha actual y una fecha específica en formato digital... A saber: primero necesitamos obtener la fecha de la marca de tiempo (marca de tiempo de Unix), y luego, en esta fecha, reemplace el día del mes con el nombre ruso del mes. Puedes hacerlo así:

// fecha actual en formato Unix TimeStamp $ _timestampDate = "1437556706"; // se puede asignar desde otra variable // traducir a una fecha normal $ currentDate = date ("d.m.Y", $ _timestampDate); // desde 1437556706 hasta el 22/07/2015 // lista de meses con nombres para reemplazar $ _monthsList = array (". 01." => "Enero", ".02." => "Febrero", ".03." = > "Marzo", ".04." => "Abril", ".05." => "Mayo", ".06." => "Junio", ".07." => "Julio", " . 08. "=>" Agosto "," .09. "=>" Septiembre "," .10. "=>" Octubre "," .11. "=>" Noviembre "," .12. "=> "Diciembre"); // Nuestra tarea es mostrar la fecha rusa, // entonces reemplazamos el día del mes con el nombre: $ _mD = date (". M."); // para reemplazar $ currentDate = str_replace ($ _ mD, "". $ _ monthsList [$ _ mD]. "", $ currentDate); // ahora la variable $ currentDate almacena la fecha en el formato 22 de junio de 2015

Como resultado, obtuvimos el formato de fecha que necesitamos de la marca de tiempo. Todo como quisieron.

Por cierto, cuando trabajo con la marca de tiempo, mi propia herramienta web me ayuda mucho. Es gratis, utilícelo para la salud. Allí también puede obtener más información sobre esta marca de tiempo de Unix. Todo para ti =)

Bueno, en cuanto a la salida de la fecha / mes en ruso Herramientas PHP Entonces, creo, el tema está más que divulgado. ¡Explore, use y no tenga miedo de experimentar!