UTC time

165 visualizaciones (últimos 30 días)
Jisha
Jisha el 26 de Mzo. de 2012
Comentada: Christoph Kessler el 29 de Feb. de 2024
How to convert UTC time to time in YEAR MONTH DAY HH MM SS?
UTC is 1263403529
I need
13-Jan-2012 17:25:29

Respuesta aceptada

C.J. Harris
C.J. Harris el 26 de Mzo. de 2012
Grab the following file from the File Exchange:
Then call:
x = 1263403529;
y = datestr(utc2datenum(x));
  6 comentarios
Jisha
Jisha el 26 de Mzo. de 2012
Thanks..
Christoph Kessler
Christoph Kessler el 29 de Feb. de 2024
What is the use if Answer requires a specific environment like 64 or 32-bit. Can you simply change without source code?

Iniciar sesión para comentar.

Más respuestas (3)

Steven Lord
Steven Lord el 27 de Jul. de 2018
You can do this using datetime.
>> dt = datetime(1263403529, 'ConvertFrom', 'posixtime')
dt =
datetime
13-Jan-2010 17:25:29

James Tursa
James Tursa el 26 de Mzo. de 2012
If this is "seconds since 1970-01-01 00:00:00 TAI" it is more properly called "unix time" or "posix time" or sometimes "epoch time", not UTC. E.g., see this article:
If that is the case you can simply calculate your result as:
x = 1263403529;
e = datenum('01-jan-1970 00:00:00');
y = datestr(e+x/86400,'dd-mm-yyyy hh:mm:ss');
  4 comentarios
Geoff
Geoff el 26 de Mzo. de 2012
It's best to avoid string processing where it's not necessary:
e = datenum(1970,1,1,0,0,0);
James Tursa
James Tursa el 27 de Mzo. de 2012
Well, I would assume e would be a one-time only calculation in which case the string is more readable IMO. But if the goal is to make this calculation faster then I would simply eliminate it altogether. E.g.,
y = datestr(719529+x/86400,'dd-mmm-yyyy HH:MM:SS');
along with a comment stating where the magic number 719529 comes from.

Iniciar sesión para comentar.


Uilke Stelwagen
Uilke Stelwagen el 31 de Mayo de 2012
Wrote my own utc2datenum and discovered that 'UTC' 1263403529 is NOT "13-Jan-2012 17:25:29" but 1326475529 is. I.e. datestr(utc2datenum(1263403529)) = 13-Jan-2010 17:25:29, hence differing 2 years, while datestr(utc2datenum(1326475529)) = 13-Jan-2012 17:25:29. Best thing is to check a routine or algorithm with the 'UTC' time example given on http://en.wikipedia.org/wiki/Unix_time instead of starting with a wrong example.
  2 comentarios
Dan
Dan el 12 de Ag. de 2012
Current Wikipedia time is
1344541161 (2012-08-09 19:39:21Z)
>> utc = 1344541161
utc =
1.3445e+09
>> datestr(datenum([1970, 1, 1, 0, 0, utc]))
ans =
09-Aug-2012 19:39:21
I just blew everyone's mind...
marleen_ade
marleen_ade el 27 de Jul. de 2018
perfect! Leave out the square brackets, and it works here too (R2015a 32 bit)

Iniciar sesión para comentar.

Categorías

Más información sobre Calendar en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by