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...
용도:
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.protype.toLocaleDateString() 참조
최신 솔루션(2020년용)
새로운 세계에서는 메서드를 갖춘 편리한 컨스트럭터가 있는 표준 JavaScript 오브젝트로 이동해야 합니다.
function format_time(s) {
const dtFormat = new Intl.DateTimeFormat('en-GB', {
timeStyle: 'medium',
timeZone: 'UTC'
});
return dtFormat.format(new Date(s * 1e3)); }
console.log( format_time(12345) );
// "03:25:45"
이터널 솔루션
단, 모든 레거시 JavaScript 엔진과 100% 호환성을 유지하기 위해 몇 초 동안 포맷할 수 있는 가장 짧은 원라이너 솔루션을 소개합니다.hh:mm:ss
:
function format_time(s) {
return new Date(s * 1e3).toISOString().slice(-13, -5); }
console.log( format_time(12345) );
// "03:25:45"
메소드는 항상 24 또는 27자 길이의 단순 확장 ISO 8601 형식으로 시간을 반환합니다(예:
YYYY-MM-DDTHH:mm:ss.sssZ
또는±YYYYYY-MM-DDTHH:mm:ss.sssZ
를 참조해 주세요).타임존은 항상 제로 UTC 오프셋입니다.
이 솔루션은 서드파티 라이브러리가 필요하지 않으며 모든 브라우저 및 JavaScript 엔진에서 지원됩니다.