Comunidad de diseño web y desarrollo en internet online

Fechas completas con milisegundos en PHP

Citar            
MensajeEscrito el 20 Sep 2005 04:28 am
Actualmente tengo un pequeño programa (El ClabServer) que guarda dentro de la DB las fechas en este formato

YYYYMMDDHHMMSS

De modo que el 20 de Marzo del 2004 a las 12:20:35 sera asi:

20040320122035

Esta es la función que uso:

Código :

//Devuelve el timestamp actual estilo Freddie®
function getStamp(){
   return strval(date("YmdHis",mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))));
}

Hasta ahora ha funcionado bien; pero ahora necesito una unidad menor a los segundos para poderla incluir, como las decimas de segundo o, preferiblemente, las milesimas de segundo exactas del momento en el que llamo la función y asi incluirlas como otro numero mas al final de mi formato de timestamp (Restando año, mes, fecha y todas las demas, claro), pero al parecer la función date no incluye nada de esto y hasta ahora no he encontrado una solución "real"

¿Alguien tiene alguna idea de como podria hacerlo?

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

firefox
Citar            
MensajeEscrito el 20 Sep 2005 04:55 am
la mejor manera que se me ocurre definitivamente es cambiando tu formato de fecha en mysql por un tipo int 20 y usar microtime() en PHP.

Pero como no se puede cambiar el formato, puedes intentar que los segundos se guarden en un formato de numeracion 25 lo que da una capacidad de combinacion de 625 numeros (algo asi como hexadecimal pero en lugar de 16 es a 25) donde entrarian un equivalente de 600 decimales de segundos o 60 segundos con un decimal. Para convertir las bases puedes usar base_convert() en PHP para devolverlo en un formato decimal.

Es la unica manera que se me ocurre.

Por tangamampilia

.GAIA Developer

961 de clabLevel


6 articulos

Genero:Masculino   Anime Bloggers

México, D.F.

safari
Citar            
MensajeEscrito el 20 Sep 2005 07:03 am
Bueno, acá va una primera aproximación....tengo PHP 4.3 así que tocó usar microtime() a la antigüa porque tengo mucho sueño como para instalar el 5 :p

Código :

function getStamp(){
  $now = (string)microtime();
  $now = explode(' ', $now);
  $mm = explode('.', $now[0]);
  $mm = $mm[1];
  $now = $now[1];
  $segundos = $now % 60;
  $segundos = $segundos < 10 ? "$segundos" : $segundos;
  return strval(date("YmdHi",mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"))) . "$segundos$mm");
}
echo getStamp();

Sólo calculé segundos y micros porque eran los relevantes...para el resto si no vi problema de seguir usando date.

El formato sería YYYYMMDDHHMMSSmmmmmmmm

....conciencia tranquila XD

Por gersonm

Claber

2238 de clabLevel

12 tutoriales
1 articulo
5 ejemplos

Genero:Masculino   Desarrollador de GAIA

Al otro lado de la mira

firefox
Citar            
MensajeEscrito el 20 Sep 2005 07:34 pm
Ese funciono perfecto gerson, thx ^^

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

firefox
Citar            
MensajeEscrito el 20 Sep 2005 09:01 pm

Código :

<?
function getStamp(){
   list($Mili, $bot) = explode(" ", microtime());
   $DM=substr(strval($Mili),2,4);
   return strval(date("Y").date("m").date("d").date("H").date("i").date("s") . $DM);
}
echo getStamp(); 
?>


:wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 20 Sep 2005 10:00 pm
porque no usas solo time()
???
y luego lo extraes.

Por jhony192

791 de clabLevel

1 tutorial

Genero:Masculino  

Just Another Programmer

firefox
Citar            
MensajeEscrito el 20 Sep 2005 10:10 pm

jhony192 escribió:

porque no usas solo time()
???
y luego lo extraes.


Sería mas tardado parsear el time, que como lo escribí arriba. Además recuerda que necesitamos Milisegundos! :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.