PubNub раз имеют дополнительные 7 цифр точности выше стандартных марок UNIX время (в секундах), так что первый шаг, чтобы разделить его на 10 . Это дает вам 1451276806
, который, когда вы тестируете его в converter, вы получаете 12/28/2015 @ 4:26am (UTC)
(используя откровенно странный (1) формат даты в США), поэтому это кажется разумным.
С точки зрения использования Javascript, чтобы сделать это, вы можете передать количество миллисекунд Date
иметь объект инстанцированный для вас:
var dtobj = new Date(1451276806518);
, имея в виду, что значение миллисекунды влечет за собой вы деля 10 (отсечение последних четырех цифр), а не 10 .
После того, как у вас есть объект даты, вы можете использовать стандартные методы, чтобы получить его в формате, который вы хотите, например:
var dtobj = new Date(1451276806518);
var dtdd = ('0' + (dtobj.getDate())).slice(-2);
var dtmm = ('0' + (dtobj.getMonth() + 1)).slice(-2);
var dtyy = ('0' + (getFullYear() % 100)).slice(-2);
document.write(dtdd + "/" + dtmm + "/" + dtyy);
(1) Я клянусь, некоторые комиссии должны быть приняты наихудшие биты из всех форматов даты, чтобы указать, что нужно было отбросить, а затем некоторые другие комитет случайно принял это как рекомендацию. Излишне говорить, что я большой поклонник ISO 8601 :-)
Спасибо за этот великий Ответ !! – Kichu
@RobG Не могли бы вы помочь мне? Я пытаюсь преобразовать timestamp 2016-02-11 03:31:18 в pubnub timestamp из 17-значного прецизионного времени unix (UTC) что-то вроде 13406746780720711, указанного в ссылке url, предоставленной pubnub https: //www.pubnub. com/docs/web-javascript/api-reference # history_example_2 –
@ ShashankShah - разобрать строку для создания объекта Date (например, мой ответ [* здесь *] (http://stackoverflow.com/questions/35169209/javascript-date -parse-return-nan-in-mozilla-browser/35169689 # 35169689)), затем используйте * getTime *. Обратите внимание, что точность - целые миллисекунды, которые могут быть 0 (для 1970-01-01T00: 00: 00Z). – RobG