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") );