От unix timestamp до datetime
У меня есть что-то вроде /Date(1370001284000+0200)/
как timestamp. Я думаю, это дата unix, не так ли? Как я могу преобразовать это в такую дату: 31.05.2013 13:54:44
Я попробовал ЭТО конвертер для 1370001284, и он дает правильную дату. Итак, это за секунды.
Но я все еще получаю неправильную дату для:
var substring = unix_timestamp.replace("/Date(", "");
substring = substring.replace("000+0200)/", "");
var date = new Date();
date.setSeconds(substring);
return date;
Ответы
Ответ 1
Обратите внимание, что я использую t.format
используя Moment.js, он не является частью стандартного прототипа Date
JavaScript.
Метка времени Unix - это количество секунд с 1970-01-01 00:00:00 UTC.
Наличие +0200
означает, что числовая строка не является меткой времени Unix, поскольку она содержит информацию о настройке часового пояса. Вы должны справиться с этим отдельно.
Если ваша строка временной метки указана в миллисекундах, вы можете использовать конструктор миллисекунд и Moment.js для форматирования даты в строку:
var t = new Date( 1370001284000 );
var formatted = t.format("dd.mm.yyyy hh:MM:ss");
Если ваша строка метки времени setSeconds
в секундах, используйте setSeconds
:
var t = new Date();
t.setSeconds( 1370001284 );
var formatted = t.format("dd.mm.yyyy hh:MM:ss");
Ответ 2
Похоже, вам может понадобиться формат ISO, чтобы вы могли сохранить часовой пояс.
var dateTime = new Date(1370001284000);
dateTime.toISOString(); // Returns "2013-05-31T11:54:44.000Z"
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
Ответ 3
Без moment.js:
var time_to_show = 1509968436; // unix timestamp in seconds
var t = new Date(time_to_show * 1000);
var formatted = ('0' + t.getHours()).slice(-2) + ':' + ('0' + t.getMinutes()).slice(-2);
document.write(formatted);
Ответ 4
/Date(ms + timezone)/
- синтаксис ASP.NET для дат JSON. Вы можете использовать библиотеку, например momentjs для синтаксического анализа таких дат. Это пригодится, если вам нужно будет манипулировать или печатать даты в любое время позже.
Ответ 5
Импорт момента js:
var fulldate = new Date(1370001284000);
var converted_date = moment(fulldate).format(");
Ответ 6
При использовании реагировать:
import Moment from 'react-moment';
Moment.globalFormat = 'D MMM YYYY';
затем:
<td><Moment unix>{1370001284}</Moment></td>
Ответ 7
Я хотел бы добавить, что используя библиотеку моментов в javascript, вы можете получить всю информацию о данных в объекте с помощью:
const today = moment(1557697070824.94).toObject();
Вы должны получить объект со следующими свойствами:
today: {
date: 15,
hours: 2,
milliseconds: 207,
minutes: 31,
months: 4
seconds: 22,
years: 2019
}
Это очень полезно, когда вам нужно рассчитать даты.