hola suky, mira por ejemplo:
el scada me da este valor:
02/11/11 09:27:40.000
equivalente a este en hex:
0E 16 0C 14 2E 01
al invertirlo y pasarlo a decimal me da este valor:
01 2E 14 0C 16 0E = 1297416460000
este valor esta en milisegundos, ahora ese valor lo divido entre el valor de milisegundos en un año, basado en la siguiente tabla:
1 año en milisegundo es igual a: 31557600000
1 mes en milisegundo es igual a: 2629800000
1 dia en milisegundo es igual a: 86400000
1 hora en milisegundo es igual a: 3600000
1 minuto en milisegundo es igual a: 60000
1 segundo en milisegundo es igual a: 1000
1297416460000 / 31557600000 = 41,112646715846578954039597434532
lo que es equivalente a 41 años, de 1970 hasta hoy hay 41 años, vamos bien. Ahora tomamos los decimales y los multiplicamos por 12 y me debe dar el valor de los meses.
0,112646715846578954039597434532 * 12 = 1,351760590158947448475169214384
lo que nos dice q estamos corriendo el segundo mes del año 41, vamos bien. Ahora tomamos los decimales y los multiplicamos por 365 y lo dividimos por 12 para que nos de los dias que llevamos corridos hasta hoy.
0,351760590158947448475169214384 * 365 / 12 = 10,699384617334651557786396937513
lo que me dice que esta corriendo el dia 11 del mes 2 del año 41, vamos bien. Ahora viene lo que no me da, tomamos los decimales y los multiplicamos por 24 para que nos de las horas
0,699384617334651557786396937513 * 24 = 16,78523081603163738687352650032
aqui me imagino q me esta diciendo que son las 16 horas, con x numero de minutos, pero si vemos la informacion nos damos cuenta que alli dice el scada que son las 9 horas, entonces no se en que me habre equivocado, ojala te des cuenta de mi problema, por que ya no se q mas inventar, gracias por tu colaboracion.