• C#(99):中文日历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();//;五
  • 相关阅读:
    Triangle
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
    面试题之判断栈的入栈和出栈序列的合法性
    对称矩阵的压缩存储和输出
    栈的经典面试题之用两个栈实现一个队列
    C++的三大特性之一继承
    C++之类的析构函数
    malloc函数的底层实现你是否清楚
    【超详细教程】使用Windows Live Writer 2012和Office Word 2013 发布文章到博客园全面总结,再也不愁发博客了
  • 原文地址:https://www.cnblogs.com/springsnow/p/9428640.html
Copyright © 2020-2023  润新知