国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET顯示農歷時間的方法

2024-07-10 13:28:29
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了ASP.NET顯示農歷時間的方法,涉及時間的換算與數組的應用,是非常具有實用價值的技巧,需要的朋友可以參考下
 
 

本文實例講述了ASP.NET顯示農歷時間的方法。分享給大家供大家參考。具體實現方法如下:

CS部分代碼如下:

復制代碼代碼如下:
public string ChineseTimeNow = "";  
public string ForignTimeNow = "";  
private static ChineseLunisolarCalendar calendar = new ChineseLunisolarCalendar();  
private static string ChineseNumber = "〇一二三四五六七八九";  
public const string CelestialStem = "甲乙丙丁戊己庚辛壬癸";  
public const string TerrestrialBranch = "子丑寅卯辰巳午未申酉戌亥";  
public static readonly string[] ChineseDayName = new string[] {  
        "初一","初二","初三","初四","初五","初六","初七","初八","初九","初十",  
        "十一","十二","十三","十四","十五","十六","十七","十八","十九","二十",  
        "廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十"};  
public static readonly string[] ChineseMonthName = new string[] { "正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二" }; 

 

override protected void Page_Load(object sender, EventArgs e)  
{  
        base.Page_Load(sender, e);  
        userName = Session["Admin"].ToString();  
        ChineseTimeNow=GetChineseDate(DateTime.Now);  
        ForignTimeNow = DateTime.Now.GetDateTimeFormats('D')[0].ToString();  

/// <summary>  
/// 獲取一個公歷日期對應的完整的農歷日期  
/// </summary>  
/// <param name="time">一個公歷日期</param>  
/// <returns>農歷日期</returns>  
public string GetChineseDate(DateTime time)  
{  
        string strY = GetYear(time);  
        string strM = GetMonth(time);  
        string strD = GetDay(time);  
        string strSB = GetStemBranch(time);  
        string strDate = strY + "(" + strSB + ")年 " + strM + "月 " + strD;  
        return strDate;  
}  
/// <summary>  
/// 獲取一個公歷日期的農歷干支紀年  
/// </summary>  
/// <param name="time">一個公歷日期</param>  
/// <returns>農歷干支紀年</returns>  
public string GetStemBranch(DateTime time)  
{  
        int sexagenaryYear = calendar.GetSexagenaryYear(time);  
        string stemBranch = CelestialStem.Substring(sexagenaryYear % 10 - 1, 1) + TerrestrialBranch.Substring(sexagenaryYear % 12 - 1, 1);  
        return stemBranch;  

/// <summary>  
/// 獲取一個公歷日期的農歷年份  
/// </summary>  
/// <param name="time">一個公歷日期</param>  
/// <returns>農歷年份</returns>  
public string GetYear(DateTime time)  
{  
        StringBuilder sb = new StringBuilder();  
        int year = calendar.GetYear(time);  
        int d;  
        do  
        {  
            d = year % 10;  
            sb.Insert(0, ChineseNumber[d]);  
            year = year / 10;  
        } while (year > 0);  
        return sb.ToString();  

/// <summary>  
/// 獲取一個公歷日期的農歷月份  
/// </summary>  
/// <param name="time">一個公歷日期</param>  
/// <returns>農歷月份</returns>  
public string GetMonth(DateTime time)  
{  
        int month = calendar.GetMonth(time);  
        int year = calendar.GetYear(time);  
        int leap = 0;  
  
        //正月不可能閏月  
        for (int i = 3; i <= month; i++)  
        {  
            if (calendar.IsLeapMonth(year, i))  
            {  
                leap = i;  
                break; //一年中最多有一個閏月  
            }  
  
        }  
        if (leap > 0) month--;  
        return (leap == month + 1 ? "閏" : "") + ChineseMonthName[month - 1];  

/// <summary>  
/// 獲取一個公歷日期的農歷日  
/// </summary>  
/// <param name="time">一個公歷日期</param>  
/// <returns>農歷日</returns>  
public string GetDay(DateTime time)  
{  
        return ChineseDayName[calendar.GetDayOfMonth(time) - 1];  
}

 

前臺部分代碼如下:

復制代碼代碼如下:
<table style="">  
 <tr valign="bottom">  
<td valign="bottom"> <%=ForignTimeNow%><br /></td>>  
   </tr>  
   <tr valign="bottom">  
  <td valign="bottom"> <%=ChineseTimeNow %></td>  
 </tr>  
 </table>

 

 希望本文所述對大家的ASP.NET程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹凤县| 普兰店市| 保山市| 洞头县| 四会市| 濉溪县| 临湘市| 无极县| 将乐县| 会宁县| 佛山市| 六枝特区| 龙州县| 永仁县| 乌鲁木齐县| 千阳县| 绥德县| 呼玛县| 武安市| 遵义县| 吉水县| 白城市| 水富县| 抚松县| 外汇| 石门县| 金塔县| 容城县| 南通市| 鄱阳县| 广州市| 永登县| 阳谷县| 独山县| 衡阳县| 临江市| 德惠市| 汪清县| 永城市| 辽阳市| 黑龙江省|