在C語(yǔ)言中,如果要使用JSON格式來(lái)處理日期和時(shí)間,可以使用C JSON庫(kù)。C JSON庫(kù)是一個(gè)輕量級(jí)的開(kāi)源庫(kù),用于解析、生成和操作JSON數(shù)據(jù)。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { char *json_string = "{ \"date\":\"2021-07-22T16:02:00\" }"; //JSON字符串 json_t *root; json_error_t error; root = json_loads(json_string, 0, &error); //將JSON字符串轉(zhuǎn)換為JSON對(duì)象 if (!root) { printf("ERROR: on line %d: %s\n", error.line, error.text); return 1; } json_t *date_obj = json_object_get(root, "date"); //獲取日期字段 const char *date_str = json_string_value(date_obj); //將日期字段轉(zhuǎn)換為字符串 struct tm tm; time_t t; strptime(date_str, "%Y-%m-%dT%H:%M:%S", &tm); //將字符串轉(zhuǎn)換為tm類型 t = mktime(&tm); //將tm類型轉(zhuǎn)換為time_t類型 printf("Date: %s\nUnix Timestamp: %ld\n", date_str, (long)t); json_decref(root); //釋放JSON對(duì)象 return 0; }
上面的代碼演示了如何將一個(gè)JSON字符串轉(zhuǎn)換為JSON對(duì)象,并從中提取日期字段。然后,使用strptime函數(shù)將日期字符串轉(zhuǎn)換為tm類型,最后將tm類型轉(zhuǎn)換為Unix時(shí)間戳。
與其他編程語(yǔ)言一樣,使用C JSON處理日期和時(shí)間可以提高代碼的可讀性和可維護(hù)性。C JSON庫(kù)是一個(gè)好的選擇,它具有輕量級(jí)和高性能的特點(diǎn)。