strcmp("2016-09-27", "2016-09-26")의 결과는 0보다 크지만, 모든 시간 형식을 이런 방식으로 비교할 수 있나요?
strcmp("2016-09-27", "2016-09-26")의 결과는 0보다 크지만, 모든 시간 형식을 이런 방식으로 비교할 수 있나요?
단지 비교가 목적이라면 이렇게 비교하시면 됩니다
시간 형식과는 관계가 없지만 숫자의 시간 형식은 실제로 이렇게 비교할 수 있지만 날짜 형식은 동일해야 합니다
<code>echo strcmp("2016-09-27","2016-9-26"); // -1 echo strcmp("2016-11-27","2016-9-26"); // -1 echo strcmp("2016-09-27","2016-09-26");// 1 echo strcmp("2016-10-01","2016-09-26");// 1</code>
strcmp
은 먼저 문자열 길이를 비교합니다. A
의 문자열 길이가 B
보다 크면 A
가 B
보다 큰 것으로 간주됩니다.
문자열의 길이가 같으면 각 문자의 “字典顺序”
을 하나씩 비교하세요. 앞의 단어 중 하나가 후자보다 크거나 작을 때까지입니다. 문자열은 후자보다 크거나 작은 것으로 간주됩니다.
"2016-09-27"과 "2016-09-26", '7'
> '6'
(ascii)까지 문자 크기를 하나씩 비교하면 2016-09-27
이 , 동일한 시간 형식이지만 2016-09-26
을 사용하여 strcmp
을 비교할 수 있습니다. 왜냐하면 나중 시간 문자열의 크기가 항상 이전 시간 문자열보다 크기 때문입니다. 实质上是字符串的比较