Функция для преобразования метки времени в человеческую дату в JavaScript

Как преобразовать эту временную метку 1382086394000 в 2013-10-18 08:53:14 с помощью функции в javascript? В настоящее время у меня есть эта функция:

function cleanDate(d) {return new Date(+d.replace(/\/Date\((\d+)\)\//, '$1'));}

Ответ 1

Значение 1382086394000, вероятно, является значением времени, которое является числом миллисекунд с 1970-01-01T00: 00: 00Z. Вы можете использовать его для создания объекта Date ECMAScript, используя конструктор Date:

var d = new Date(1382086394000);

Как вы преобразуете это в нечто читаемое, зависит от вас. Простая отправка его на выход должна вызывать внутренний (и полностью зависящий от реализации) метод toString *, который обычно печатает эквивалентное системное время в удобочитаемой форме, например

Fri Oct 18 2013 18:53:14 GMT+1000 (EST) 

В ES5 есть несколько других встроенных опций форматирования:

и так далее. Обратите внимание, что большинство из них зависят от реализации и будут отличаться в разных браузерах. Если вы хотите использовать одинаковый формат во всех браузерах, вам нужно отформатировать дату самостоятельно, например:

alert(d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear());

* Формат Date.prototype.toString был стандартизирован в ECMAScript 2018. Может пройти некоторое время, прежде чем он станет повсеместным во всех реализациях, но, по крайней мере, более распространенные браузеры поддерживают его сейчас.

Ответ 2

Это прекрасно работает. Проверено в браузере chrome:

var theDate = new Date(timeStamp_value * 1000);
dateString = theDate.toGMTString();
alert(dateString );

Ответ 3

почему бы не просто

new Date (timestamp);

Дата - это дата, ее форматирование - это другое дело.

Ответ 4

Moment.js может конвертировать временные метки unix в любой пользовательский формат

В этом случае: var time = moment(1382086394000).format("DD-MM-YYYY h:mm:ss");

напечатает 18-10-2013 11:53:14;

Здесь показан плункер, который демонстрирует это.

Ответ 5

Вот простые способы смятения формата даты:

для текущей даты:

var current_date=new Date();

чтобы получить отметку времени текущей даты:

var timestamp=new Date().getTime();

для преобразования определенной даты в метку времени:

var timestamp_formation=new Date('mm/dd/yyyy').getTime();

чтобы преобразовать метку времени в Date:

    var timestamp=new Date('02/10/2016').getTime();
    var todate=new Date(timestamp).getDate();
    var tomonth=new Date(timestamp).getMonth()+1;
    var toyear=new Date(timestamp).getFullYear();
    var original_date=tomonth+'/'+todate+'/'+toyear;

  OUTPUT:
 02/10/2016

Ответ 6

нам нужно создать новую функцию, используя JavaScript.

function unixTime(unixtime) {

    var u = new Date(unixtime*1000);

      return u.getUTCFullYear() +
        '-' + ('0' + u.getUTCMonth()).slice(-2) +
        '-' + ('0' + u.getUTCDate()).slice(-2) + 
        ' ' + ('0' + u.getUTCHours()).slice(-2) +
        ':' + ('0' + u.getUTCMinutes()).slice(-2) +
        ':' + ('0' + u.getUTCSeconds()).slice(-2) +
        '.' + (u.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) 
    };

console.log(unixTime(1370001284))

2016-04-30 08:36:26.000

Ответ 7

formatDate - это функция, которую вы можете вызвать и передать дату, которую хотите отформатировать, в dd/mm/yyyy

var unformatedDate = new Date("2017-08-10 18:30:00");
 
$("#hello").append(formatDate(unformatedDate));
function formatDate(nowDate) {
	return nowDate.getDate() +"/"+ (nowDate.getMonth() + 1) + '/'+ nowDate.getFullYear();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="hello">


</div>

Ответ 8

Вы должны проверить дату человека, он делает то, что вы хотите.

var hdate = require('human-date')

hdate.prettyPrint("8/16/1987")
// August 16th, 1987

hdate.relativeTime(60 * 60 * 24 * 2 * -1)
// 2 days ago

hdate.relativeTime("8/16/2015")
// 125 days from now

hdate.monthName("8/16/2015")
// August

Ответ 9

Для вычисления даты в метке времени от заданной даты

//Чтобы получить дату метки из обычной даты: в формате - 1560105000000

//дата ввода может быть в формате: "2019-06-09T18: 30: 00.000Z"

this.calculateDateInTimestamp = function (inputDate) {
    var date = new Date(inputDate);
    return date.getTime();
}

выход: 1560018600000