当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET显示农历时间的方法

ASP.NET显示农历时间的方法

2017年12月12日  | 移动技术网IT编程  | 我要评论

师生门,回到史前txt,泡沫之夏下载

本文实例讲述了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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网