[SOLUCIONADO] PHP. Duda con código - gmdate

Iniciado por SinnicK, Enero 11, 2016, 02:54:37 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Enero 11, 2016, 02:54:37 AM Ultima modificación: Enero 18, 2016, 11:10:26 PM por Gabriela
Buenas noches compañeros, les comento que estoy haciendo un trabajo con Java, donde necesito llamar a un PHP externo que me genera un "código único", el cual, claramente no puedo ver su código ni descargarlo pero sin embargo, por lo que veo estoy intentando re-crearlo.

La cuestión que lo que necesito del PHP es lo que arroja, el mismo arroja lo siguiente (original):

Código: php
1452490783210


Donde 1452490783 fácilmente lo obtuve ejecutando:

Código: php
<?php
echo (gmdate(time()));
?>


Claramente con las variaciones en los últimos números a medida que lo ejecutamos porque varia el tiempo, ahora el problema es que no puedo descifrar a que se deben los últimos 3 números para terminar de construir el php, en este caso ejemplo seria 210.

Estos mismos varían con cada impresión, he probado con varias variables de gmdate, como por ejemplo con la hora de internet que es la que mas se acerca al objetivo

Código: php
<?php
echo (gmdate(time()));
echo (gmdate("B");
?>


Con este último obtengo la cantidad de cifras necesarias, pero el problema es que los últimos tres números tampoco varían como lo hacen en el php original (o lo hacen muy lentamente, no con cada impresión). Quizá este yendo por el camino equivocado.

Aquí debajo dejare 5 impresiones consecutivas del php original para que vean como varían estos 3 digitos, quizá alguien pueda iluminarme para salir del tunel, porque yo la verdad que ya no le encuentro ninguna relación.

Código: php

1452491121-591
1452491136-004
1452491140-467
1452491146-202
1452491149-786


Muchas gracias a todos y saludos!

Hola Sinnick,
Mira, si mal no recuerdo, cuando imprimís la fecha en formato unix tenes 2 formas de hacerlo, una es con mili segundos y la otra es sin mili segundos, cuando la imprimís con mili segundos te devuelve 3 dígitos adicionales correspondientes a estos.

Si te sirve de referencia, haciendo pruebas suelo usar mucho esta página: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta si probas de convertir una fecha a Epoch vas a ver como te genera el Epoch común y el Epoch con ms.

Habría que ver como se hace para que PHP lo genere sin los ms.

Saludos
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

HOLA!!!

Podes crear la variable $hoy con un getdate(); y te devolvera un array.

Código: php
$hoy = getdate();


El array contiene los siguientes datos, usa los que te sirvan.

Código: text
Array
(
    [seconds] => 40
    [minutes] => 58
    [hours]   => 21
    [mday]    => 17
    [wday]    => 2
    [mon]     => 6
    [year]    => 2003
    [yday]    => 167
    [weekday] => Tuesday
    [month]   => June
    [0]       => 1055901520
)


GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Buenas noches, gracias a todos por contestar y por su interés, he podido hacerlo y aquí les comparto la solución.

Código: php
list($micro, $sec) = explode(' ', microtime());
    $output = $sec . substr($micro, 2, 3);

    echo $output;



Saludos.