首页 万年历 万年历示例代码 万年历查询[C#]

万年历查询示例代码C#

作者: 阅读数:1121 上传时间:2025-04-23

万年历查询

using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;

class Calendar
{
    private const string AppKey = "YOUR_APPKEY_HERE";

   
    /// 查询指定日期的日历信息
    public static async Task QueryAsync(string date)
    {
        try
        {
            using var client = new HttpClient();
            string url = "https://api.jisuapi.com/calendar/query";
            string requestUrl = $"{url}?appkey={AppKey}&date={date}";

            HttpResponseMessage response = await client.GetAsync(requestUrl);
            response.EnsureSuccessStatusCode();

            string responseBody = await response.Content.ReadAsStringAsync();
            JObject jsonarr = JObject.Parse(responseBody);

            if ((int)jsonarr["status"] != 0)
            {
                Console.WriteLine(jsonarr["msg"]);
                return;
            }

            JObject result = (JObject)jsonarr["result"];
            Console.WriteLine($"{result["year"]} {result["month"]} {result["day"]} {result["week"]} {result["lunaryear"]} {result["lunarmonth"]} {result["lunarday"]}");

            JObject huangli = (JObject)result["huangli"];
            Console.WriteLine($"{huangli["nongli"]} {huangli["taishen"]} {huangli["wuxing"]} {huangli["chong"]} {huangli["sha"]} {huangli["jiri"]}");

            JArray yiArray = (JArray)huangli["yi"];
            foreach (var val in yiArray)
            {
                Console.WriteLine(val);
            }
        }
        catch (HttpRequestException ex)
        {
            Console.WriteLine($"请求出错: {ex.Message}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"发生错误: {ex.Message}");
        }
    }
	
    static async Task Main(string[] args)
    {
        await Calendar.QueryAsync("2024-01-01");
        await Calendar.HolidayAsync();  
    }
}