답변:
var date = new Date("2012-01-18T16:03");
console.log( (date.getMinutes()<10?'0':'') + date.getMinutes() );
<10?'0':''의미합니까?
이 답변은 훌륭하지 않으며, 심지어 최상위 게시물도 눈에 띄었습니다. 여기, 브라우저 간 및 깔끔한 int / string 변환이 있습니다. 또한 내 충고는 date = Date(...)언어 대 / 소문자 구분에 크게 의존하는 위치 와 같은 코드와 함께 변수 이름 'date'를 사용하지 않습니다 (작동하지만 규칙이 다른 여러 언어로 서버 / 브라우저 코드로 작업 할 때 위험합니다) . 그래서 var에서 javascript Date를 가정하면 current_date:
mins = ('0'+current_date.getMinutes()).slice(-2);
이 기술은 (slice(-2))문자열 값 앞에 추가 된 "0" 의 가장 오른쪽 2자를 사용 getMinutes()합니다. 그래서:
"0"+"12" -> "012".slice(-2) -> "12"
과
"0"+"1" -> "01".slice(-2) -> "01"
또 다른 짧은 방법은 다음을 사용하여 분을 앞에 오는 0으로 채우는 것입니다.
String(date.getMinutes()).padStart(2, "0");
의미 : 문자열이 2 자로되어 문자가 누락 된 0경우이 위치 로 설정 하십시오.
str.padStart (targetLength, padString) 에서 문서를 참조하십시오.
나는 제안한다 :
var minutes = data.getMinutes();
minutes = minutes > 9 ? minutes : '0' + minutes;
하나의 함수 호출이 적습니다. 성능에 대해 항상 생각하는 것이 좋습니다. 짧습니다.
다른 옵션 :
var dateTime = new Date();
var minutesTwoDigitsWithLeadingZero = ("0" + dateTime.getMinutes()).substr(-2);
substr. w3schools.com/jsref/jsref_substr.asp
ECMAScript 국제화 API를 사용하면 자세한 정보를 얻을 수 있습니다 .
const twoDigitMinutes = date.toLocaleString('en-us', { minute: '2-digit' });
.lengthgetMinutes문자열이 아닌 숫자를 반환 하므로 정의되지 않습니다. 숫자는 length속성 이 없습니다 . 넌 할 수있어
var m = "" + date.getMinutes();
문자열로 만들고 길이 를 확인하십시오 ( length === 10이 아닌 을 확인하고 싶습니다 ).
두 자리 분 동안 다음을 사용하십시오.
new Date().toLocaleFormat("%M")
.getMinutes()하면 정수는 정수이므로 정수에서 액세스 할 수 없습니다.length. 이를 달성하려면 (날짜를 다룰 때 권장되지 않음) 숫자를 문자열로 구문 분석 한 다음 길이를 확인합니다. 예 :date.getMinutes().toString().length