0
C 프로그램에서 json을 읽습니다. 나는이 같은 문자열을받을 : 나는 strptime
로 구문 분석하고24 시간제 형식
Apr 3, 2014 4:44:39 PM
것은이 같은 모든 값을 얻을 :
strptime(observationDate, "%b %d, %Y %H:%M:%S %p", &result);
나는 %r
대신 %p
으로도했습니다. observationDate에서 문자열 형식의 날짜를 포함하는 문자열을가집니다. result는 struct tm입니다.
그러나 첫 번째 문자열에서 PM을 얻는 경우에도 변환 후 날짜를 인쇄하려고 할 때 16 대신 16이 인쇄됩니다. debugLog는 텍스트 앞에 시스템 날짜를 인쇄하는 함수입니다 ...
debugLog(DEB_INFO, "observationDateConverted: %d-%d-%d %d:%d:%d\n",
result.tm_year+1900,
result.tm_mon + 1,
result.tm_mday,
result.tm_hour,
result.tm_min,
result.tm_sec);
을하지만 12 시간 시계를 원하지 않습니다. 오후에 PM이 16이나 17을 받고 싶기 때문에 24를 원합니다. – Biribu
'strptime()'이 입력 문자열을 구문 분석합니다. 입력시 12 시간 형식을 사용하므로 올바른 형식 지정자를 사용하십시오. 이는 오전 12시/오후입니다. 'struct tm'은 그런 다음 정확하게 설정 될 것입니다. – alk
네 말이 맞았다. 잘못된 매개 변수를 사용하여 데이터를 읽었습니다. 나는 그것이 어떻게 작동하는지 이해하지 못한다. – Biribu