var date = "2012-01-18T16:03";
var date = new Date(date);
console.log(date.getMinutes());
console.log(date.getMinutes().length)
이것은 3을 반환합니다.
- ’03’을 어떻게 반환합니까?
- 왜
.length
반품 이 반환 되지 않습니까?
나는 이것을 시도했지만 작동하지 않았다 :
만약 strlen == 1
다음num = ('0' + num);
답변
var date = new Date("2012-01-18T16:03");
console.log( (date.getMinutes()<10?'0':'') + date.getMinutes() );
답변
이 답변은 훌륭하지 않으며, 심지어 최상위 게시물도 눈에 띄었습니다. 여기, 브라우저 간 및 깔끔한 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) 에서 문서를 참조하십시오.
답변
날짜를 형식화하는 우아한 ES6 기능 hh:mm:ss
:
const leadingZero = (num) => `0${num}`.slice(-2);
const formatTime = (date) =>
[date.getHours(), date.getMinutes(), date.getSeconds()]
.map(leadingZero)
.join(':');
답변
가능한 경우 문제에 대해 더 깔끔한 해결책을 제시하고 싶습니다. 허용 된 답변이 매우 좋습니다. 그러나 나는 이것을 이렇게했을 것입니다.
Date.prototype.getFullMinutes = function () {
if (this.getMinutes() < 10) {
return '0' + this.getMinutes();
}
return this.getMinutes();
};
이제 이것을 사용하려면
console.log(date.getFullMinutes());
답변
나는 제안한다 :
var minutes = data.getMinutes();
minutes = minutes > 9 ? minutes : '0' + minutes;
하나의 함수 호출이 적습니다. 성능에 대해 항상 생각하는 것이 좋습니다. 짧습니다.
답변
10보다 작은 지 확인해야합니다 … 길이를 찾지 마십시오. 이것은 숫자가 아니라 문자열이기 때문에