how convert 13 digits of timestamp?

9 views (last 30 days)
*hi,
how convert 13 digits of timestamp like 1238536800000 into small number with 6 digits It is easy to deal with it.
THANKS *
  7 Comments
Stephen23
Stephen23 on 7 Jul 2015
Edited: Stephen23 on 7 Jul 2015
@nada ali: what epoch and increment does that timestamp have? Without knowing what time system or encoding this timestamp uses, your question is impossible to answer.
nada ali
nada ali on 7 Jul 2015
Edited: nada ali on 7 Jul 2015
thanks I just found the dataset with the following format including timestamp
*userID artistID tagID timestamp
2 52 13 1238536800000
2 52 15 1238536800000
2 52 18 1238536800000
2 52 21 1238536800000
2 52 41 1238536800000*

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 8 Jul 2015
Divide the 13 digit timestamp by 1000 to get seconds. Divide by 24 * 60 * 60 to get days. Add datenum('1970-1-1'). The result will be a MATLAB date number.
This task would have been easier if you had identified the source of the data; I tracked it down by searching on the heading you provided and showed that it was an extract of last.fm data. After that it was a matter of researching to find out what timestamp format that last.fm used. When that was unsuccessful I took a sample timestamp from the last.fm site and googled it and was fortunate to find a discussion about Drupal in which someone was asking about proper conversion of the timestamp, and that gave me a target date to reverse-engineer from. The rest was based upon my historical knowledge of Unix timestamps starting at January 1 1970.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 5 Jul 2015
Edited: Azzi Abdelmalek on 5 Jul 2015
use
format short
or
s=1238536800000
fprintf('%6.6g\n',s)

Categories

Find more on Dates and Time in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!