이 글은 js를 사용하여 타임스탬프를 시간 형식으로 변환하는 코드에 대한 자세한 설명을 제공합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
프런트엔드 개발 과정에서는 사용자가 탐색할 수 있도록 타임스탬프를 표준 시간 형식으로 변환해야 하는 경우가 많습니다. 메소드 라이브러리를 사용하지 않고 빠르고 효과적으로 구현하는 방법은 무엇입니까? 아래에서는 두 가지 방법을 소개합니다.
기본적으로 사용되는 방법은 Date 방식을 사용하여 연, 월, 일, 시, 분, 초를 하나씩 계산한 후 연결하는 것입니다. 필요한 시간 형식 문자열로 변환합니다.
function transformTime(timestamp = +new Date()) { if (timestamp) { var time = new Date(timestamp); var y = time.getFullYear(); //getFullYear方法以四位数字返回年份 var M = time.getMonth() + 1; // getMonth方法从 Date 对象返回月份 (0 ~ 11),返回结果需要手动加一 var d = time.getDate(); // getDate方法从 Date 对象返回一个月中的某一天 (1 ~ 31) var h = time.getHours(); // getHours方法返回 Date 对象的小时 (0 ~ 23) var m = time.getMinutes(); // getMinutes方法返回 Date 对象的分钟 (0 ~ 59) var s = time.getSeconds(); // getSeconds方法返回 Date 对象的秒数 (0 ~ 59) return y + '-' + M + '-' + d + ' ' + h + ':' + m + ':' + s; } else { return ''; } } transformTime(); // "2018-8-8 12:9:12"
위 변환 메소드는 타임스탬프를 Date 인스턴스로 변환하고 Date 해당 메소드를 사용하여 해당 연, 월, 일을 가져옵니다. , 시, 분, 초 시간 형식이 '2018-8-8 12:9:12' 인데 좀 어색하네요. 우리가 일반적으로 사용하는 시간 형식으로 변환하려면 10보다 작은 값 앞에 문자열 '0'을 추가하여 '2018-08-08 12:09'라는 시간 형식으로 변환하는 것도 주의해야 합니다. 12'.
function transformTime(timestamp = +new Date()) { if (timestamp) { var time = new Date(timestamp); var y = time.getFullYear(); var M = time.getMonth() + 1; var d = time.getDate(); var h = time.getHours(); var m = time.getMinutes(); var s = time.getSeconds(); return y + '-' + addZero(M) + '-' + addZero(d) + ' ' + addZero(h) + ':' + addZero(m) + ':' + addZero(s); } else { return ''; } } function addZero(m) { return m < 10 ? '0' + m : m; } transformTime(); // "2018-08-08 12:09:12"
10 미만으로 반환된 시간 값을 처리하고, 'addZero' 메소드를 사용하여 문자열에 '0'을 추가하여 형식이 대칭이 되도록 합니다.
타임스탬프를 필요한 시간 형식으로 변환하기 위해 두 개의 함수를 작성했는데, 이를 추가하면 최대 10줄이 넘습니다. 얼마 전 부서장님께서 다른 방법을 알려주셨는데요. 코드 한 줄이 타임스탬프를 'YYYY-MM-DD HH:mm:ss' 형식으로 변환해 주니 코드가 즉시 많이 간소화되었습니다. 더 자세히 살펴보겠습니다. 코드
function time(time = +new Date()) { var date = new Date(time + 8 * 3600 * 1000); // 增加8小时 return date.toJSON().substr(0, 19).replace('T', ' '); } time(); // "2018-08-09 18:25:54"
Date의 'toJSON' 메서드는 실제로 'toISOString' 메서드를 사용한 결과인 그리니치 표준시의 JSON 형식 문자열을 반환합니다. 문자열은 '2018-08-09T10:20:54.396Z' 형식입니다. 베이징 시간으로 변환하려면 문자열의 처음 19자리를 공백으로 바꿔야 합니다. 즉, 시간 형식이 필요합니다.
function time(time = +new Date()) { var date = new Date(time + 8 * 3600 * 1000); return date.toJSON().substr(0, 19).replace('T', ' ').replace(/-/g, '.'); } time(); // "2018.08.09 18:25:54"
시간 형식의 '-'를 '.' 또는 기타 기호로 변경할 수 있습니다. 이전 방법에 비해 이 방법은 이전보다 코드를 조금 더 절약하고 읽기도 훨씬 쉽습니다. 시간 형식에 밀리초가 필요한 경우 문자열의 처음 23자리만 가져와서 위와 같이 바꾸기 메서드로 바꾸면 됩니다.
관련 권장사항:
js를 사용하여 Excel을 내보내고 가져오는 방법은 무엇인가요? js를 사용하여 Excel을 가져오고 내보내는 방법(순수 코드)
js(코드)에서 드롭다운 메뉴를 좌우로 이동하는 방법 #🎜 🎜#
# 🎜🎜#js가 setInterval 타이머 메소드를 사용하여 캐러셀 이미지를 구현하는 방법(전체 코드)위 내용은 타임스탬프를 시간 형식으로 변환하는 js 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!