6#include "CalendarLunar.h"
10#include "LunarTable.h"
16static const QString g_Gan[] = {
"甲",
"乙",
"丙",
"丁",
"戊",
"己",
"庚",
"辛",
"壬",
"癸"};
17static const QString g_Zhi[] = {
"子",
"丑",
"寅",
"卯",
"辰",
"巳",
"午",
"未",
"申",
"酉",
"戌",
"亥"};
18static const QString g_ShX[] = {
"鼠",
"牛",
"虎",
"兔",
"龙",
"蛇",
"马",
"羊",
"猴",
"鸡",
"狗",
"猪"};
19static const QString g_numCn[] = {
"零",
"一",
"二",
"三",
"四",
"五",
20 "六",
"七",
"八",
"九",
"十"};
21static const QString g_jqmc[] = {
"冬至",
"小寒",
"大寒",
"立春",
22 "雨水",
"惊蛰",
"春分",
"清明",
23 "谷雨",
"立夏",
"小满",
"芒种",
24 "夏至",
"小暑",
"大暑",
"立秋",
25 "处暑",
"白露",
"秋分",
"寒露",
26 "霜降",
"立冬",
"小雪",
"大雪"};
27static const QString g_jqImage[] = {
"DongZhi",
"XiaoHan",
"DaHan",
"LiChun",
28 "YuShui",
"JingZhe",
"ChunFen",
"QingMing",
29 "GuYu",
"LiXia",
"XiaoMan",
"MangZhong",
30 "XiaZhi",
"XiaShu",
"DaShu",
"LiQiu",
31 "ChuShu",
"BaiLu",
"Qiufeng",
"HanLu",
32 "ShungJiang",
"LiDong",
"XiaoXue",
"DaXue"};
33static const QString g_ymc[] = {
"正",
"二",
"三",
"四",
"五",
"六",
"七",
"八",
"九",
"十",
"十一",
"十二"};
34static const QString g_rmc[] = {
"初一",
"初二",
"初三",
"初四",
"初五",
"初六",
35 "初七",
"初八",
"初九",
"初十",
"十一",
"十二",
36 "十三",
"十四",
"十五",
"十六",
"十七",
"十八",
37 "十九",
"廿",
"廿一",
"廿二",
"廿三",
"廿四",
38 "廿五",
"廿六",
"廿七",
"廿八",
"廿九",
"卅",
"卅一"};
39static const QString g_WeekCn[] = {
"星期日",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六"};
41CCalendarLunar::CCalendarLunar(QObject *parent) : QObject(parent)
44CCalendarLunar::CCalendarLunar(QDate date, QObject *parent) :
CCalendarLunar(parent)
74 int nRet = CLunarTable::Instance()->
GetLunar(date, day);
82 m_szLunar = g_Gan[day.nTg] + g_Zhi[day.nDz] +
"年";
84 m_szLunar +=
"闰" + g_ymc[day.nMonth - 1] +
"月" + g_rmc[day.nDay - 1] +
"日";
86 m_szLunar += g_ymc[day.nMonth - 1] +
"月" + g_rmc[day.nDay -1] +
"日";
91 m_szLunarDay +=
"闰" + g_ymc[day.nMonth - 1] +
"月";
93 m_szLunarDay = g_ymc[day.nMonth - 1] +
"月";
95 m_szLunarDay = g_rmc[day.nDay - 1];
99 m_szJieQi = g_jqmc[day.nJq];
100 m_szImageJieQi =
":/image/" + g_jqImage[day.nJq];
123 return m_szImageJieQi;
128 QSharedPointer<Day> day(sxtwl::fromLunar(lunarYear, lunarMonth, lunarDay, isLeap));
129 return QDate(day->getSolarYear(), day->getSolarMonth(), day->getSolarDay());
QString GetLunarDay()
得到指定日期的农历当月的第几天(汉字)
QString GetLunar()
得到指定日期的农历(汉字)
static QDate GetSolar(int lunarYear, int lunarMonth, int lunarDay, bool bLeap=false)
得到指定农历的阳历
int GetMonth()
得到指定日期的农历月份
QString GetJieQiImage()
得到节气的图片
int GetLunar(const QDate &date, _LUNAR_DAY &lunar, bool cache=true)
得到指定日期的农历