Як перетворити цю мітку часу 1382086394000
на 2013-10-18 08:53:14
використання функції у javascript? На даний момент у мене є така функція:
function cleanDate(d) {return new Date(+d.replace(/\/Date\((\d+)\)\//, '$1'));}
Як перетворити цю мітку часу 1382086394000
на 2013-10-18 08:53:14
використання функції у javascript? На даний момент у мене є така функція:
function cleanDate(d) {return new Date(+d.replace(/\/Date\((\d+)\)\//, '$1'));}
Відповіді:
Значення 1382086394000 - це, мабуть, часове значення, яке є кількістю мілісекунд з 1970-01-01T00: 00: 00Z. Ви можете використовувати його для створення об'єкта ECMAScript Date за допомогою конструктора 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 . Можливо, пройде деякий час, перш ніж це буде повсюдно у всіх реалізаціях, але принаймні більш поширені браузери підтримують це зараз.
Це чудово працює. Перевірено в chrome
браузері:
var theDate = new Date(timeStamp_value * 1000);
dateString = theDate.toGMTString();
alert(dateString );
1000
. В іншому випадку, ви зациклитесь у майбутньому космосі !!
чому не просто
new Date (timestamp);
Дата - це дата, форматування її - інша справа.
Moment.js може конвертувати мітки часу unix у будь-який власний формат
В цьому випадку : var time = moment(1382086394000).format("DD-MM-YYYY h:mm:ss");
надрукує 18-10-2013 11:53:14
;
Ось плюнкер, який це демонструє.
Ось найпростіші способи переплутування кожного формату дати:
на поточну дату:
var current_date=new Date();
щоб отримати позначку часу поточної дати:
var timestamp=new Date().getTime();
щоб перетворити певну дату в позначку часу:
var timestamp_formation=new Date('mm/dd/yyyy').getTime();
щоб перетворити мітку часу в дату:
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
нам потрібно створити нову функцію за допомогою 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
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>
Це те, що я зробив для API Instagram. перетворена мітка часу з методом дати, помноживши на 1000., а потім додавши всі сутності окремо, наприклад (рік, місяці тощо)
створив спеціальну назву списку місяців і зіставив getMonth()
метод, який повертає індекс місяця.
convertStampDate(unixtimestamp){
// Unixtimestamp
// Months array
var months_arr = ['January','February','March','April','May','June','July','August','September','October','November','December'];
// Convert timestamp to milliseconds
var date = new Date(unixtimestamp*1000);
// Year
var year = date.getFullYear();
// Month
var month = months_arr[date.getMonth()];
// Day
var day = date.getDate();
// Hours
var hours = date.getHours();
// Minutes
var minutes = "0" + date.getMinutes();
// Seconds
var seconds = "0" + date.getSeconds();
// Display date time in MM-dd-yyyy h:m:s format
var fulldate = month+' '+day+'-'+year+' '+hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
// filtered fate
var convdataTime = month+' '+day;
return convdataTime;
}
Дзвінок із аргументом штампа
convertStampDate('1382086394000')
і це все.
Мій варіант ES6 видає такий рядок 2020-04-05_16:39:45.85725
. Не соромтеся змінювати оператор return, щоб отримати потрібний формат:
const getDateStringServ = timestamp => {
const plus0 = num => `0${num.toString()}`.slice(-2)
const d = new Date(timestamp)
const year = d.getFullYear()
const monthTmp = d.getMonth() + 1
const month = plus0(monthTmp)
const date = plus0(d.getDate())
const hour = plus0(d.getHours())
const minute = plus0(d.getMinutes())
const second = plus0(d.getSeconds())
const rest = timestamp.toString().slice(-5)
return `${year}-${month}-${date}_${hour}:${minute}:${second}.${rest}`
}
Для обчислення дати в мітці часу з даної дати
// Щоб отримати дату мітки часу із звичайної дати : У форматі - 1560105000000
// дата введення може бути у форматі: "2019-06-09T18: 30: 00.000Z"
this.calculateDateInTimestamp = function (inputDate) {
var date = new Date(inputDate);
return date.getTime();
}
вихід : 1560018600000