C語言是一種高效、靈活的編程語言,被廣泛應(yīng)用于開發(fā)各種軟件應(yīng)用程序。Json作為一種輕量級的數(shù)據(jù)交換格式,也受到了很多人的喜愛,它簡單易懂,易于解析和生成。
在Json中,日期是一種比較常見的數(shù)據(jù)類型,有時候我們需要對日期進行比較和排序,這時候就需要使用日期的最小值函數(shù)min()。
#include <time.h> #include <json-c/json.h> int main(){ char *json_string = "{\"date_1\":\"2021-09-01\",\"date_2\":\"2021-10-01\"}"; struct json_object *json_obj = json_tokener_parse(json_string); struct json_object *date_1_obj, *date_2_obj; time_t date_1, date_2; json_object_object_get_ex(json_obj, "date_1", &date_1_obj); json_object_object_get_ex(json_obj, "date_2", &date_2_obj); date_1 = strtotime(json_object_get_string(date_1_obj)); date_2 = strtotime(json_object_get_string(date_2_obj)); time_t min_date = min(date_1, date_2); printf("最小日期為:%s", ctime(&min_date)); return 0; }
在上述代碼中,我們首先定義了一個Json字符串,然后使用json_tokener_parse函數(shù)將其解析為一個Json對象。接著使用json_object_object_get_ex函數(shù)獲取其中的日期字段,并通過strtotime函數(shù)將其轉(zhuǎn)換為Unix時間戳。
最后,我們使用c語言中的min函數(shù)比較這兩個日期,取其較小值。最后輸出最小日期,并返回0。