javascript - date time issue moment -
sometimes timestamp more 10 digits. using moment js function is:
moment.unix(timestamp).format('yyyy-mm-dd hh:mm')
when 10 digits long giving me perfect answer. when more 10 digits. don't know why giving wrong year.
sample: correct: 1433167001 gives me 2015-06-01 13:56 incorrect: 1433287744646 gives me date: 47389-01-29 12:37
i tried /1000 not working
code
- var timestamp ='' - if (typeof(res[j]['timestamp']) !== 'undefined'){ - timestamp = math.floor(res[j]['timestamp']); - if (timestamp.length > 10) { - timestamp = math.floor(timestamp/1000) - } -} tr td #{index++} td #{results[i]['userinfo']['username']} td #{typename} td #{value} td #{moment.unix(timestamp).format('yyyy-mm-dd hh:mm')}
the above code in jade.
traditionally, term "unix timestamp" refers number of seconds have elapsed since midnight, january 1st 1970 utc (not counting leap seconds).
var m = moment.unix(numberofseconds);
however, javascript , many other platforms define timestamps in terms of milliseconds instead of seconds.
var m = moment(numberofmilliseconds);
it important understand source of data know whether timestamps in terms of seconds or milliseconds. if guess based upon number of digits, excluding range of possible values.
Comments
Post a Comment