0
我正在閱讀C程序中的json。我收到一個字符串是這樣的:24小時時間格式
Apr 3, 2014 4:44:39 PM
我與strptime
解析它來獲取所有的值是這樣的:
strptime(observationDate, "%b %d, %Y %H:%M:%S %p", &result);
我%r
代替%p
也試過。在observationDate中,我有包含字符串格式的日期的字符串。結果是一個結構tm。
但是,即使在第一個字符串中獲取PM,當我嘗試在轉換後打印日期時,我得到4而不是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小時制時間。我想要24,因爲在PM上,我想收到16或17例如 – Biribu
'strptime()'分析輸入字符串。因爲你在輸入時得到12h的時間格式,所以使用正確的格式說明符來獲得你所得到的內容,即上午12點/下午。那麼'struct tm'會被正確設置。 – alk
是的,你是對的。我正在使用錯誤的參數讀取數據。我無法理解它是如何工作的。 – Biribu