1900年-2100年公历转农历数据

数据

农历数据

0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, //1900-1909
0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, //1910-1919
0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, //1920-1929
0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, //1930-1939
0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, //1940-1949
0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, //1950-1959
0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, //1960-1969
0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, //1970-1979
0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, //1980-1989
0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x055c0, 0x0ab60, 0x096d5, 0x092e0, //1990-1999
0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, //2000-2009
0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, //2010-2019
0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, //2020-2029
0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, //2030-2039
0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, //2040-2049
0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, //2050-2059
0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, //2060-2069
0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, //2070-2079
0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, //2080-2089
0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, //2090-2099
0x0d520                                                                                   //2100

一共24bit:

前4bit:这一年是闰年才有意义,1代表闰大月(30天),0代表闰小月(29天)。

中间12bit:每1bit代表一个月,1为大月,0为小月。

后4bit:代表这一年的闰月年份,为0则不闰,非0为闰的月份。

农历新年对应的公历日期

0x76c011f, 0x76d0213, 0x76e0208, 0x76f011d, 0x7700210, 0x7710204, 0x7720119, 0x773020d, 0x7740204, 0x7750116, //1900-1909
0x776020a, 0x777011e, 0x7780212, 0x7790206, 0x77a011a, 0x77b020e, 0x77c0204, 0x77d0117, 0x77e020b, 0x77f0201, //1910-1919
0x7800214, 0x7810208, 0x782011c, 0x7830210, 0x7840205, 0x7850118, 0x786020d, 0x7870202, 0x7880117, 0x789020a, //1920-1929
0x78a011e, 0x78b0211, 0x78c0206, 0x78d011a, 0x78e020e, 0x78f0204, 0x7900118, 0x791020b, 0x792011f, 0x7930213, //1930-1939
0x7940208, 0x795011b, 0x796020f, 0x7970205, 0x7980119, 0x799021d, 0x79a0202, 0x79b0116, 0x79c020a, 0x79d011d, //1940-1949
0x79e0211, 0x79f0206, 0x7a0011b, 0x7a1020e, 0x7a20203, 0x7a30118, 0x7a4020c, 0x7a5011f, 0x7a60212, 0x7a70208, //1950-1959
0x7a8011c, 0x7a9020f, 0x7aa0205, 0x7ab0119, 0x7ac020d, 0x7ad0202, 0x7ae0115, 0x7af0209, 0x7b0011e, 0x7b10211, //1960-1969
0x7b20206, 0x7b3011a, 0x7b4020f, 0x7b50203, 0x7b60117, 0x7b7020b, 0x7b8011f, 0x7b90212, 0x7ba0207, 0x7bb011c, //1970-1979
0x7bc0210, 0x7bd0205, 0x7be0119, 0x7bf020d, 0x7c00202, 0x7c10214, 0x7c20209, 0x7c3011d, 0x7c40211, 0x7c50206, //1980-1989
0x7c6011b, 0x7c7020f, 0x7c80204, 0x7c90117, 0x7ca020a, 0x7cb011f, 0x7cc0213, 0x7cd0207, 0x7ce011c, 0x7cf0210, //1990-1999
0x7d00205, 0x7d10118, 0x7d2021c, 0x7d30201, 0x7d40116, 0x7d50209, 0x7d6011d, 0x7d70212, 0x7d80207, 0x7d9011a, //2000-2009
0x7da020e, 0x7db0203, 0x7dc0117, 0x7dd020a, 0x7de011f, 0x7df0213, 0x7e00208, 0x7e1010c, 0x7e20210, 0x7e30205, //2010-2019
0x7e40119, 0x7e5020c, 0x7e60201, 0x7e70116, 0x7e8020a, 0x7e9011d, 0x7ea0211, 0x7eb0206, 0x7ec011a, 0x7ed020d, //2020-2029
0x7ee0203, 0x7ef0117, 0x7f0020b, 0x7f1011f, 0x7f20213, 0x7f30208, 0x7f4011c, 0x7f5020f, 0x7f60204, 0x7f70118, //2030-2039
0x7f8020c, 0x7f90201, 0x7fa0116, 0x7fb020a, 0x7fc011e, 0x7fd0211, 0x7fe0206, 0x7ff010a, 0x800020e, 0x8010202, //2040-2049
0x8020117, 0x803020b, 0x8040201, 0x8050213, 0x8060208, 0x807011c, 0x808020f, 0x8090204, 0x80a0118, 0x80b020c, //2050-2059
0x80c0202, 0x80d0115, 0x80e0209, 0x80f011d, 0x8100211, 0x8110205, 0x812011a, 0x813020e, 0x8140203, 0x8150117, //2060-2069
0x816020b, 0x817011f, 0x8180213, 0x8190207, 0x81a011b, 0x81b020e, 0x81c0205, 0x81d0118, 0x81e020c, 0x81f0202, //2070-2079
0x8200116, 0x8210209, 0x822011d, 0x8230211, 0x8240206, 0x825011a, 0x826021e, 0x8270203, 0x8280118, 0x829020a, //2080-2089
0x82a011e, 0x82b0212, 0x82c0207, 0x82d011b, 0x82e020f, 0x82f0205, 0x8300109, 0x831020c, 0x8320201, 0x8330115, //2090-2099
0x8340209                                                                                                     //2100

共28bit: 

前12bit:为农历新年对应的公历年份。

中间8bit:为农历新年对应的公历月份。

后8bit:为农历新年对应的公历日期。

Qt代码示例

头文件

#ifndef CHINESECALENDAR_H
#define CHINESECALENDAR_H

#include <QDate>
//  NONGLISHUJU
//  01.前4位,即0在这一年是润年时才有意义,它代表这年润月的大小月,为1则润大月,为0则润小月。
//  02.中间12位,即4bd,每位代表一个月,为1则为大月,为0则为小月。
//  03.最后4位,即8,代表这一年的润月月份,为0则不润。首4位要与末4位搭配使用。
//  格式:0000 000000000000 0000
#define LUNAR Lunar::GetInstance()
class Lunar
{
public:
    struct LUNAR_STRUCT
    {
        int year = 1900;
        int month = 01;
        int day = 01;
        int solar = 0;
        bool isLeap = false; //是否闰月
    };
    struct LUNAR_STR_STRUCT
    {
        QString nian; //年 如:甲子年
        QString yue;  //月 如:正月
        QString ri;   //天 如:初一
    };

private:
    struct LUNAR_YEAR_INFO_STRUCT
    {
        int leapMonth;
        int leapDays;
        int monthDays[12] = {0};
    };

public:
    static Lunar* GetInstance();
    static void DelInstance();

    LUNAR_STRUCT solarToLunar(const QDate& solar) const;
    LUNAR_STR_STRUCT solarToLunarStr(const QDate& solar) const;

private:
    LUNAR_YEAR_INFO_STRUCT getLunarYearInfo(quint32 lunarData) const;

    QString getTianganDizhi(int year) const;
    QString getYue(int month, bool isLeap) const;
    QString getTian(int day) const;

private:
    Lunar();
    ~Lunar();
    Lunar(const Lunar& log) = delete;
    Lunar& operator=(const Lunar& log) = delete;

private:
    const quint32 KAISHIRIQI = 0x76c011f;
    const quint32 JIESHURIQI = 0x8340c1f;
    const QList<QString> TIANGAN = {"甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"};
    const QList<QString> DIZHI = {"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"};
    const QList<QString> YUE = {"正月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "冬月", "腊月"};
    const QList<QString> TIAN = {"初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "卅十"};
    const quint32 NONGLISHUJU[201] = {
        0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, //1900-1909
        0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, //1910-1919
        0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, //1920-1929
        0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, //1930-1939
        0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, //1940-1949
        0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, //1950-1959
        0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, //1960-1969
        0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, //1970-1979
        0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, //1980-1989
        0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x055c0, 0x0ab60, 0x096d5, 0x092e0, //1990-1999
        0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, //2000-2009
        0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, //2010-2019
        0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, //2020-2029
        0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, //2030-2039
        0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, //2040-2049
        0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, //2050-2059
        0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, //2060-2069
        0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, //2070-2079
        0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, //2080-2089
        0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, //2090-2099
        0x0d520                                                                                   //2100
    };
    const quint32 CHUNJIERIQI[201] = {
        0x76c011f, 0x76d0213, 0x76e0208, 0x76f011d, 0x7700210, 0x7710204, 0x7720119, 0x773020d, 0x7740204, 0x7750116, //1900-1909
        0x776020a, 0x777011e, 0x7780212, 0x7790206, 0x77a011a, 0x77b020e, 0x77c0204, 0x77d0117, 0x77e020b, 0x77f0201, //1910-1919
        0x7800214, 0x7810208, 0x782011c, 0x7830210, 0x7840205, 0x7850118, 0x786020d, 0x7870202, 0x7880117, 0x789020a, //1920-1929
        0x78a011e, 0x78b0211, 0x78c0206, 0x78d011a, 0x78e020e, 0x78f0204, 0x7900118, 0x791020b, 0x792011f, 0x7930213, //1930-1939
        0x7940208, 0x795011b, 0x796020f, 0x7970205, 0x7980119, 0x799021d, 0x79a0202, 0x79b0116, 0x79c020a, 0x79d011d, //1940-1949
        0x79e0211, 0x79f0206, 0x7a0011b, 0x7a1020e, 0x7a20203, 0x7a30118, 0x7a4020c, 0x7a5011f, 0x7a60212, 0x7a70208, //1950-1959
        0x7a8011c, 0x7a9020f, 0x7aa0205, 0x7ab0119, 0x7ac020d, 0x7ad0202, 0x7ae0115, 0x7af0209, 0x7b0011e, 0x7b10211, //1960-1969
        0x7b20206, 0x7b3011a, 0x7b4020f, 0x7b50203, 0x7b60117, 0x7b7020b, 0x7b8011f, 0x7b90212, 0x7ba0207, 0x7bb011c, //1970-1979
        0x7bc0210, 0x7bd0205, 0x7be0119, 0x7bf020d, 0x7c00202, 0x7c10214, 0x7c20209, 0x7c3011d, 0x7c40211, 0x7c50206, //1980-1989
        0x7c6011b, 0x7c7020f, 0x7c80204, 0x7c90117, 0x7ca020a, 0x7cb011f, 0x7cc0213, 0x7cd0207, 0x7ce011c, 0x7cf0210, //1990-1999
        0x7d00205, 0x7d10118, 0x7d2021c, 0x7d30201, 0x7d40116, 0x7d50209, 0x7d6011d, 0x7d70212, 0x7d80207, 0x7d9011a, //2000-2009
        0x7da020e, 0x7db0203, 0x7dc0117, 0x7dd020a, 0x7de011f, 0x7df0213, 0x7e00208, 0x7e1010c, 0x7e20210, 0x7e30205, //2010-2019
        0x7e40119, 0x7e5020c, 0x7e60201, 0x7e70116, 0x7e8020a, 0x7e9011d, 0x7ea0211, 0x7eb0206, 0x7ec011a, 0x7ed020d, //2020-2029
        0x7ee0203, 0x7ef0117, 0x7f0020b, 0x7f1011f, 0x7f20213, 0x7f30208, 0x7f4011c, 0x7f5020f, 0x7f60204, 0x7f70118, //2030-2039
        0x7f8020c, 0x7f90201, 0x7fa0116, 0x7fb020a, 0x7fc011e, 0x7fd0211, 0x7fe0206, 0x7ff010a, 0x800020e, 0x8010202, //2040-2049
        0x8020117, 0x803020b, 0x8040201, 0x8050213, 0x8060208, 0x807011c, 0x808020f, 0x8090204, 0x80a0118, 0x80b020c, //2050-2059
        0x80c0202, 0x80d0115, 0x80e0209, 0x80f011d, 0x8100211, 0x8110205, 0x812011a, 0x813020e, 0x8140203, 0x8150117, //2060-2069
        0x816020b, 0x817011f, 0x8180213, 0x8190207, 0x81a011b, 0x81b020e, 0x81c0205, 0x81d0118, 0x81e020c, 0x81f0202, //2070-2079
        0x8200116, 0x8210209, 0x822011d, 0x8230211, 0x8240206, 0x825011a, 0x826021e, 0x8270203, 0x8280118, 0x829020a, //2080-2089
        0x82a011e, 0x82b0212, 0x82c0207, 0x82d011b, 0x82e020f, 0x82f0205, 0x8300109, 0x831020c, 0x8320201, 0x8330115, //2090-2099
        0x8340209                                                                                                     //2100
    };

private:
    static Lunar* _Lunar;

源文件

#include "lunar.h"

Lunar* Lunar::_Lunar = nullptr;

Lunar* Lunar::GetInstance()
{
    if (!_Lunar)
        _Lunar = new Lunar;
    return _Lunar;
}
void Lunar::DelInstance()
{
    delete _Lunar;
    _Lunar = nullptr;
}
Lunar::LUNAR_STRUCT Lunar::solarToLunar(const QDate& solar) const
{
    LUNAR_STRUCT ls;
    quint16 kaishiriqi_nian = KAISHIRIQI >> 16;
    quint8 kaishiriqi_yue = KAISHIRIQI >> 8;
    quint8 kaishiriqi_ri = KAISHIRIQI;
    quint16 jieshuriqi_nian = JIESHURIQI >> 16;
    quint8 jieshuriqi_yue = JIESHURIQI >> 8;
    quint8 jieshuriqi_ri = JIESHURIQI;
    if (solar < QDate(kaishiriqi_nian, kaishiriqi_yue, kaishiriqi_ri) || solar > QDate(jieshuriqi_nian, jieshuriqi_yue, jieshuriqi_ri)) //仅支持1900-2049
        return ls;
    int year = solar.year(); //公历年份
    quint32 chunjieriqi = CHUNJIERIQI[year - 1900];
    quint16 chunjieriqi_nian = chunjieriqi >> 16;
    quint8 chunjieriqi_yue = chunjieriqi >> 8;
    quint8 chunjieriqi_ri = chunjieriqi;
    QDate springDate(chunjieriqi_nian, chunjieriqi_yue, chunjieriqi_ri); //公历年份中的农历春节日期
    int springDays = springDate.dayOfYear();                             //农历春节日期是公历年份的第几天
    int nowDays = solar.dayOfYear();                                     //今天是公历年份的第几天
    int lunarDays = nowDays - springDays;                                //今天是农历的第几天
    if (nowDays < springDays)                                            //还没到今年的农历春节,从公历的上一年春节开始计算
    {
        chunjieriqi = CHUNJIERIQI[year - 1900 - 1];
        chunjieriqi_nian = chunjieriqi >> 16;
        chunjieriqi_yue = chunjieriqi >> 8;
        chunjieriqi_ri = chunjieriqi;
        springDate = QDate(chunjieriqi_nian, chunjieriqi_yue, chunjieriqi_ri);
        lunarDays = springDate.daysInYear() - springDate.dayOfYear() + nowDays;
        year--;
    }
    ls.year = year;                                            //农历年份得出
    quint32 lunarData = NONGLISHUJU[year - 1900];              //对应农历年的信息
    LUNAR_YEAR_INFO_STRUCT lyis = getLunarYearInfo(lunarData); //取得农历年信息
    int days = 0;
    for (int i = 0; i < 12; i++)
    {
        bool isMore = lunarDays >= days;
        int dayInMonth = lunarDays - days;
        days += lyis.monthDays[i];
        bool isLess = lunarDays < days;
        if (isMore && isLess)
        {
            ls.isLeap = false;
            ls.month = i + 1;
            ls.day = dayInMonth + 1;
            break;
        }
        //处理闰月情况,先处理正儿巴经的,再处理闰的
        if (i + 1 == lyis.leapMonth)
        {
            dayInMonth = lunarDays - days;
            days += lyis.leapDays;
            isLess = lunarDays < days;
            if (isMore && isLess)
            {
                ls.isLeap = true;
                ls.month = i + 1;
                ls.day = dayInMonth + 1;
                break;
            }
        }
    }
    return ls;
}
Lunar::LUNAR_STR_STRUCT Lunar::solarToLunarStr(const QDate& solar) const
{
    Lunar::LUNAR_STRUCT ls = solarToLunar(solar);
    Lunar::LUNAR_STR_STRUCT lss;
    lss.nian = getTianganDizhi(ls.year);
    lss.yue = getYue(ls.month, ls.isLeap);
    lss.ri = getTian(ls.day);
    return lss;
}
Lunar::LUNAR_YEAR_INFO_STRUCT Lunar::getLunarYearInfo(quint32 lunarData) const
{
    Lunar::LUNAR_YEAR_INFO_STRUCT lyis;
    lyis.leapMonth = lunarData & 0xF; //掩码;
    if (lyis.leapMonth)
    {
        quint32 longShort = (lunarData & 0xF0000) >> 16;
        lyis.leapDays = longShort ? 30 : 29;
    }
    quint32 musk = 0xF000;
    int mov = 15;
    for (int i = 0; i < 12; i++)
    {
        quint32 longShort = (lunarData & musk) >> mov;
        lyis.monthDays[i] = longShort ? 30 : 29;
        musk = musk >> 1;
        mov--;
    }
    return lyis;
}
QString Lunar::getTianganDizhi(int year) const
{
    //1984年为上一个甲子年,甲是天干的开始,子是地支的开始
    int sc = year - 1984;
    int gan = sc % 10;
    int zhi = sc % 12;
    if (gan < 0)
        gan += 10;
    if (zhi < 0)
        zhi += 12;
    return TIANGAN[gan] + DIZHI[zhi] + "年";
}
QString Lunar::getYue(int month, bool isLeap) const
{
    if ((month < 1) || (month > 12))
        return QString();
    if (isLeap)
        return "闰" + YUE[month - 1];
    else
        return YUE[month - 1];
}
QString Lunar::getTian(int day) const
{
    if ((day < 1) || (day > 30))
        return QString();
    return TIAN[day - 1];
}
Lunar::Lunar() {}
Lunar::~Lunar() {}

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-13 20:20:09       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-13 20:20:09       54 阅读
  3. 在Django里面运行非项目文件

    2024-05-13 20:20:09       45 阅读
  4. Python语言-面向对象

    2024-05-13 20:20:09       55 阅读

热门阅读

  1. KUKA机器人专业名词解释

    2024-05-13 20:20:09       31 阅读
  2. 大型ERP设计-业务与功能指引:供应商寄售业务

    2024-05-13 20:20:09       34 阅读
  3. docker-compose使用

    2024-05-13 20:20:09       32 阅读
  4. Pytorch中的self.parameters()

    2024-05-13 20:20:09       30 阅读
  5. leetCode33. 搜索旋转排序数组

    2024-05-13 20:20:09       32 阅读
  6. 视觉SLAM14精讲——三维空间刚体运动1.1

    2024-05-13 20:20:09       33 阅读