C#实现中文日历Calendar

 更新时间:2022年05月10日 11:16:23   作者:springsnow  
这篇文章介绍了C#实现中文日历Calendar的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、层次结构

Object<-----Calendar<-----EastAsianLunisolarCalendar<-----ChineseLunisolarCalendar(农历)

二、用法

1、支持的最大,最小日期

System.Globalization.ChineseLunisolarCalendar cc =new System.Globalization.ChineseLunisolarCalendar();
s1=cc.MinSupportedDateTime.ToString("");//02/19/1901 00:00:00
s2=cc.MaxSupportedDateTime.ToString("");//01/28/2101 23:59:59

2、单位农历天数

System.Globalization.ChineseLunisolarCalendar cc =new System.Globalization.ChineseLunisolarCalendar();
s1=cc.GetMonthsInYear(DateTime.Now.Year).ToString();//12,一年中有几个月,13表示当年有闰月。
s2=cc.GetDaysInYear(DateTime.Now.Year).ToString();//354,一年中有多少天
s3=cc.GetDaysInMonth(DateTime.Now.Year,DateTime.Now.Month).ToString();//29 ,当月中有多少天

3、天干、地支

System.Globalization.ChineseLunisolarCalendar cc =new System.Globalization.ChineseLunisolarCalendar();
s1=cc.GetSexagenaryYear(DateTime.Now ).ToString();//36,天干
s2=cc.GetTerrestrialBranch(36).ToString();//12,地支

4、农历年、月、日

System.Globalization.ChineseLunisolarCalendar cc =new System.Globalization.ChineseLunisolarCalendar();
s1=cc.GetYear(DateTime.Now).ToString();//;2019
s2=cc.GetMonth(DateTime.Now).ToString();//;5,注意:其返回值为1-13的数,如果该年四月有闰月,4月返回4,闰4月则返回5
s3=cc.GetDayOfMonth(DateTime.Now).ToString();//;23

5、闰年与闰月

System.Globalization.ChineseLunisolarCalendar cc =new System.Globalization.ChineseLunisolarCalendar();
s1=cc.IsLeapYear(DateTime.Now.Year).ToString();//;False
s2=cc.GetLeapMonth(DateTime.Now.Year).ToString();//;0,注意:表示所闰月份。如果返回5,表示闰4月。

6、显示农历大写月份

string[] monthName = {"正",  "二", "三", "四", "五", "六", "七", "八", "九", "十", "东", "腊" };
System.Globalization.ChineseLunisolarCalendar cc = new System.Globalization.ChineseLunisolarCalendar();
int currentMonth = cc.GetMonth(DateTime.Today);
int leapMonth = cc.GetLeapMonth(DateTime.Today.Year);
string realMonth;
if (currentMonth < leapMonth)
    realMonth = monthName[currentMonth];
else if (currentMonth == leapMonth)
    realMonth = "闰" + monthName[currentMonth - 1];
else
    realMonth = monthName[currentMonth - 1];
s1 = realMonth.ToString();//;五

到此这篇关于C#实现中文日历Calendar的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • c#版在pc端发起微信扫码支付的实例

    c#版在pc端发起微信扫码支付的实例

    本篇文章主要介绍了c#版在pc端发起微信扫码支付的实例,具有一定的参考价值,有兴趣的可以了解一下。
    2016-11-11
  • Unity实现图片水印生成

    Unity实现图片水印生成

    这篇文章主要为大家详细介绍了Unity实现图片水印生成,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C#实现清除IE浏览器缓存的方法

    C#实现清除IE浏览器缓存的方法

    这篇文章主要介绍了C#实现清除IE浏览器缓存的方法,实例分析了C#针对浏览器缓存清理所涉及的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C# .Net实现灰度图和HeatMap热力图winform(进阶)

    C# .Net实现灰度图和HeatMap热力图winform(进阶)

    本文主要介绍了C# .NET实现简易灰度图和酷炫HeatMap热力图winform,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 基于C#的UDP协议的同步通信实现代码

    基于C#的UDP协议的同步通信实现代码

    本篇文章主要介绍了基于C#的UDP协议的同步实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Unity实现物体左右移动效果

    Unity实现物体左右移动效果

    这篇文章主要为大家详细介绍了Unity实现物体左右移动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • C# 实现截图软件功能实例代码

    C# 实现截图软件功能实例代码

    这篇文章主要介绍了C# 实现截图软件功能实例代码,需要的朋友可以参考下
    2017-06-06
  • C#使用SendMessage实现进程间通信的方法

    C#使用SendMessage实现进程间通信的方法

    这篇文章主要介绍了C#使用SendMessage实现进程间通信的方法,涉及C#中SendMessage方法的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • c# 实现位图算法(BitMap)

    c# 实现位图算法(BitMap)

    这篇文章主要介绍了c# 如何实现位图算法(BitMap),文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C#使用TCP协议实现数据发送和接受的方法

    C#使用TCP协议实现数据发送和接受的方法

    这篇文章主要介绍了c#使用TCP协议实现数据发送和接受,使用TCP协议实现数据的发送和接受包括客户端和服务端两个部分,本文通过实例代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04

最新评论