在C語言中,處理JSON時間可能涉及到將字符串轉換為時間戳或將時間戳轉換為字符串。下面是一些基于C語言的JSON時間處理的例子。
#include <stdio.h> #include <time.h> #include <jansson.h> int main(){ //將時間戳轉換成字符串 time_t timestamp = 1632900132; struct tm * timeinfo = localtime(×tamp); char string_time[20]; strftime(string_time, 20, "%Y-%m-%d %H:%M:%S", timeinfo); printf("Time in string format: %s\n", string_time); //將字符串轉換為時間戳 const char * json_time = "2021-09-29 23:22:12"; struct tm json_tm = {0}; strptime(json_time, "%Y-%m-%d %H:%M:%S", &json_tm); time_t json_timestamp = mktime(&json_tm); printf("Time in timestamp format: %ld\n", json_timestamp); //將JSON對象轉換為時間戳 const char * json_text = "{\"time\": \"2021-09-29 23:22:12\"}"; json_t * root = json_loads(json_text, 0, NULL); const char * in_time = json_string_value(json_object_get(root, "time")); struct tm in_tm = {0}; strptime(in_time, "%Y-%m-%d %H:%M:%S", &in_tm); time_t in_timestamp = mktime(&in_tm); printf("Time in timestamp format: %ld\n", in_timestamp); return 0; }
在這個例子中,我們使用了localtime()
函數將時間戳轉換為struct tm
類型的時間結構體。然后,我們使用strftime()
函數將時間結構體轉換為字符串。strptime()
函數用于將字符串轉換為時間結構體,mktime()
函數用于將時間結構體轉換為時間戳。最后,我們使用json_loads()
函數將JSON文本字符串轉換為json_t *
類型的對象,使用json_object_get()
函數獲取JSON對象中的值,并使用json_string_value()
函數將JSON字符串轉換為C字符串。
下一篇c json斷數據