C#.Net显示今天的农历日期
C# Code:
using System;
using System.Globalization;//
namespace Project.ChinaDate
{
/// <summary>
/// 显示今天农历类
/// </summary>
public
class CNDate
{
private DateTime m_Date; //今天的日期
private
readonly
int cny; //农历的年月日
private
int cnm; //农历的年月日
private
readonly
int cnd; //农历的年月日
private
readonly
int icnm; //农历闰月
///
<summary>
/// 显示日期构造函数
///
</summary>
public CNDate()
{
m_Date = DateTime.Today;
ChineseLunisolarCalendar cnCalendar =
new ChineseLunisolarCalendar();
cny = cnCalendar.GetSexagenaryYear(m_Date);
cnm = cnCalendar.GetMonth(m_Date);
cnd = cnCalendar.GetDayOfMonth(m_Date);
icnm = cnCalendar.GetLeapMonth(cnCalendar.GetYear(m_Date));
}
///
<summary>
/// 返回格式化的公历显示
///
</summary>
///
<returns>格式如:2008年05月14日</returns>
public
string GetDate()
{
int y = m_Date.Year;
int m = m_Date.Month;
int d = m_Date.Day;
return String.Format("{0}年{1:00}月{2:00}日", y, m, d);
}
///
<summary>
/// 返回格式化的星期显示
///
</summary>
///
<returns>格式如:星期日</returns>
public
string GetWeek()
{
string ws =
"星期";
int w = Convert.ToInt32(m_Date.DayOfWeek);
ws = ws
"日一二三四五六".Substring(w, 1);
return ws;
}
///
<summary>
/// 返回格式化的农历显示
///
</summary>
///
<returns>格式如:戊子(鼠)年润四月廿三</returns>
public
string GetCNDate()
{
string txcns =
"";
const
string szText1 =
"癸甲乙丙丁戊己庚辛壬";
const
string szText2 =
"亥子丑寅卯辰巳午未申酉戌";
const
string szText3 =
"猪鼠牛虎免龙蛇马羊猴鸡狗";
int tn = cny %
10; //天干
int dn = cny %
12; //地支
txcns = szText1.Substring(tn, 1);
txcns = szText2.Substring(dn, 1);
txcns =
"("
szText3.Substring(dn, 1)
")年";
//格式化月份显示
string[] cnMonth ={ "", "正月", "二月", "三月", "四月", "五月", "六月"
, "七月", "八月", "九月", "十月", "十一月", "十二月", "十二月" };
if (icnm >
0)
{
for (int i = icnm
1; i <
13; i ) cnMonth = cnMonth[i -
1];
cnMonth[icnm] =
"闰"
cnMonth[icnm];
}
txcns = cnMonth[cnm];
string[] cnDay ={ "", "初一", "初二", "初三", "初四", "初五", "初六", "初七"
, "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五", "十六"
, "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五"
, "廿六", "廿七", "廿八", "廿九", "三十" };
txcns = cnDay[cnd];
return txcns;
}
}
using System;
using System.Globalization;//
namespace Project.ChinaDate
{
/// <summary>
/// 显示今天农历类
/// </summary>
public
class CNDate
{
private DateTime m_Date; //今天的日期
private
readonly
int cny; //农历的年月日
private
int cnm; //农历的年月日
private
readonly
int cnd; //农历的年月日
private
readonly
int icnm; //农历闰月
///
<summary>
/// 显示日期构造函数
///
</summary>
public CNDate()
{
m_Date = DateTime.Today;
ChineseLunisolarCalendar cnCalendar =
new ChineseLunisolarCalendar();
cny = cnCalendar.GetSexagenaryYear(m_Date);
cnm = cnCalendar.GetMonth(m_Date);
cnd = cnCalendar.GetDayOfMonth(m_Date);
icnm = cnCalendar.GetLeapMonth(cnCalendar.GetYear(m_Date));
}
///
<summary>
/// 返回格式化的公历显示
///
</summary>
///
<returns>格式如:2008年05月14日</returns>
public
string GetDate()
{
int y = m_Date.Year;
int m = m_Date.Month;
int d = m_Date.Day;
return String.Format("{0}年{1:00}月{2:00}日", y, m, d);
}
///
<summary>
/// 返回格式化的星期显示
///
</summary>
///
<returns>格式如:星期日</returns>
public
string GetWeek()
{
string ws =
"星期";
int w = Convert.ToInt32(m_Date.DayOfWeek);
ws = ws
"日一二三四五六".Substring(w, 1);
return ws;
}
///
<summary>
/// 返回格式化的农历显示
///
</summary>
///
<returns>格式如:戊子(鼠)年润四月廿三</returns>
public
string GetCNDate()
{
string txcns =
"";
const
string szText1 =
"癸甲乙丙丁戊己庚辛壬";
const
string szText2 =
"亥子丑寅卯辰巳午未申酉戌";
const
string szText3 =
"猪鼠牛虎免龙蛇马羊猴鸡狗";
int tn = cny %
10; //天干
int dn = cny %
12; //地支
txcns = szText1.Substring(tn, 1);
txcns = szText2.Substring(dn, 1);
txcns =
"("
szText3.Substring(dn, 1)
")年";
//格式化月份显示
string[] cnMonth ={ "", "正月", "二月", "三月", "四月", "五月", "六月"
, "七月", "八月", "九月", "十月", "十一月", "十二月", "十二月" };
if (icnm >
0)
{
for (int i = icnm
1; i <
13; i ) cnMonth = cnMonth[i -
1];
cnMonth[icnm] =
"闰"
cnMonth[icnm];
}
txcns = cnMonth[cnm];
string[] cnDay ={ "", "初一", "初二", "初三", "初四", "初五", "初六", "初七"
, "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五", "十六"
, "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五"
, "廿六", "廿七", "廿八", "廿九", "三十" };
txcns = cnDay[cnd];
return txcns;
}
}
本文来源:
参考文档:
FastReport.NET自动文本宽度+自动换行+自动行高|C/S开发框架
FastReport.NET2023破解版去除水印DEMO VERSION (2025.1.14/2023.2.18版本)|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
.NET C/S架构软件用户授权设计方案(mac地址+白名单用户)|C/S开发框架
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
C#.NET各版本常用语法糖大全(C#3~C#10)|C/S开发框架
CSFramework.EF数据库框架应用Schema测试多种数据库(.NET8+EFCore)|C/S开发框架
CSFrameworV6试用版开发指南 | 主程序初始化CSFramework.EF数据库框架(.NET8)|C/S开发框架
.NET Reactor(.NET混淆器)加壳软件使用|C/S开发框架
CSFramework开发框架使用.NET Reactor加壳软件导致多语言失效|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
C#.NET调用达梦数据库的存储过程返回多张表|C/S开发框架
C#.NET 达梦数据库存储过程 获取OUT参数返回值|C/S开发框架
SqlServer数据类型、DbType类型、.NET类型与达梦数据类型关系表|C/S开发框架
.NET8 .NETCore运行环境下载|C/S开发框架
FastReport.NET自动文本宽度+自动换行+自动行高|C/S开发框架
FastReport.NET2023破解版去除水印DEMO VERSION (2025.1.14/2023.2.18版本)|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
.NET C/S架构软件用户授权设计方案(mac地址+白名单用户)|C/S开发框架
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
C#.NET各版本常用语法糖大全(C#3~C#10)|C/S开发框架
CSFramework.EF数据库框架应用Schema测试多种数据库(.NET8+EFCore)|C/S开发框架
CSFrameworV6试用版开发指南 | 主程序初始化CSFramework.EF数据库框架(.NET8)|C/S开发框架
.NET Reactor(.NET混淆器)加壳软件使用|C/S开发框架
CSFramework开发框架使用.NET Reactor加壳软件导致多语言失效|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
C#.NET调用达梦数据库的存储过程返回多张表|C/S开发框架
C#.NET 达梦数据库存储过程 获取OUT参数返回值|C/S开发框架
SqlServer数据类型、DbType类型、.NET类型与达梦数据类型关系表|C/S开发框架
.NET8 .NETCore运行环境下载|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
