[javascript] JavaScript에서 Unix 타임 스탬프를 시간으로 변환

MySQL 데이터베이스에 유닉스 타임 스탬프로 시간을 저장하고 있으며 JavaScript 코드로 전송됩니다. 시간을 어떻게 빼낼 수 있을까요?

예를 들어, HH / MM / SS 형식입니다.



답변

let unix_timestamp = 1549312452
// Create a new JavaScript Date object based on the timestamp
// multiplied by 1000 so that the argument is in milliseconds, not seconds.
var date = new Date(unix_timestamp * 1000);
// Hours part from the timestamp
var hours = date.getHours();
// Minutes part from the timestamp
var minutes = "0" + date.getMinutes();
// Seconds part from the timestamp
var seconds = "0" + date.getSeconds();

// Will display time in 10:30:23 format
var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);

console.log(formattedTime);

Date 객체에 대한 자세한 내용은 MDN 또는 ECMAScript 5 사양을 참조하십시오 .


답변

function timeConverter(UNIX_timestamp){
  var a = new Date(UNIX_timestamp * 1000);
  var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
  var year = a.getFullYear();
  var month = months[a.getMonth()];
  var date = a.getDate();
  var hour = a.getHours();
  var min = a.getMinutes();
  var sec = a.getSeconds();
  var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
  return time;
}
console.log(timeConverter(0));


답변

JavaScript는 밀리 초 단위로 작동하므로 먼저 UNIX 타임 스탬프를 초에서 밀리 초로 변환해야합니다.

var date = new Date(UNIX_Timestamp * 1000);
// Manipulate JavaScript Date object here...


답변

Date.format()PHP date()기능 스타일로 JavaScript 날짜 형식을 구현 하는 Jacob Wright 라이브러리 의 일부 입니다.

new Date(unix_timestamp * 1000).format('h:i:s')


답변

사용하다:

var s = new Date(1504095567183).toLocaleDateString("en-US")
console.log(s)
// expected output "8/30/2017"  

그리고 시간 :

var s = new Date(1504095567183).toLocaleTimeString("en-US")
console.log(s)
// expected output "3:19:27 PM"

Date.prototype.toLocaleDateString () 참조


답변

다음은 초를 형식화하는 가장 짧은 단일 라이너 솔루션입니다 hh:mm:ss.

/**
 * Convert seconds to time string (hh:mm:ss).
 *
 * @param Number s
 *
 * @return String
 */
function time(s) {
    return new Date(s * 1e3).toISOString().slice(-13, -5);
}

console.log( time(12345) );  // "03:25:45"

메소드 Date.prototype.toISOString()는 단순화 된 확장 ISO 8601 형식으로 시간을 반환하며 , 항상 24 자 또는 27 자 (즉 YYYY-MM-DDTHH:mm:ss.sssZ,
±YYYYYY-MM-DDTHH:mm:ss.sssZ각각)입니다. 시간대는 항상 0 UTC 오프셋입니다.

NB :이 솔루션에는 타사 라이브러리가 필요하지 않으며 모든 최신 브라우저 및 JavaScript 엔진에서 지원됩니다.


답변

momentjs.com 과 같은 라이브러리를 사용하여 이것을 간단하게 만들 수 있습니다.

유닉스 타임 스탬프를 기반으로 :

var timestamp = moment.unix(1293683278);
console.log( timestamp.format("HH/mm/ss") );

MySQL 날짜 문자열을 기반으로 :

var now = moment("2010-10-10 12:03:15");
console.log( now.format("HH/mm/ss") );