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)  
{  
nbsp;       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();  
}

IT经典笑语录:程序员眼中的女人:有的女人就像Windows 虽然很优秀,但是安全隐患太大。有的女人就像UNIX 她条件很好,然而不是谁都能玩的起。有的女人就像C# 长的很漂亮,但是家务活不行。有的女人就像C++,她会默默的为你做很多的事情。有的女人就像JAVA,只需一点付出她就会为你到处服务。有的女人就像JAVA script,虽然对她处处小心但最终还是没有结果。有的女人就像汇编 虽然很麻烦,但是有的时候还得求它。

/// <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>

from:http://www.codes51.com/article/detail_93960.html

ASP.NET如何显示农历时间的更多相关文章

  1. ASP.NET农历时间显示(两)

    在拍摄的月球时前(http://blog.csdn.net/yysyangyangyangshan/article/details/6802950),只是没有进行封装使用起来须要手动改动. 本次进行简 ...

  2. 电脑时间显示秒 win10电脑显示农历

    win10电脑时间显示秒 显示农历. Win10怎样让任务栏时间显示秒_百度经验 win10电脑显示农历 网上搜到的不管用. 直接下载win10万年历.我下载的人生日历. 最烦广告, 还有一些流氓行为 ...

  3. 【转】js写显示农历的日期

    网上查找了个,记录下. <body> <!-- 中国农历开始 --> <SCRIPT language=JavaScript> <!-- var lunarI ...

  4. [转]显示农历日期的JS

    本文转自:http://blog.sina.com.cn/s/blog_47377e77010009xc.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD ...

  5. .NET Core 中使用 Humanizer 显示友好时间格式

    今天在将一个 .net framework 项目迁移至 .net core 的过程中,在迁移到显示友好时间格式(比如“1分钟前”,“1小时前”)的代码时,找了找看有没有对应的开源库,结果找到了 Hum ...

  6. 前端开发自学之JavaScript——显示当前时间

    <html> <head> <title>JavaScript</title> <script language="javascript ...

  7. js显示当前时间

    闲着没事在闪存里看到有人需要js显示当前时间,就一时兴起写了个. 输出格式:“2013年12月18日 星期三 上午9:05:00 ”. <script type="text/javas ...

  8. 【温故而知新-Javascript】时间效果(显示当前时间、显示当前日期、显示页面停留时间、倒计时)

    1.显示当前时间 <body onload="showtime()"> <div>当前时间: <span id="clock"&g ...

  9. Linux环境变量的修改(永久,暂时)以及修改ls显示的时间格式

    本文转自:http://blog.sina.com.cn/s/blog_8e21864f01014u9h.html Linux修改环境变量,很简单但很重要 一.Linux的变量种类 按变量的生存周期来 ...

随机推荐

  1. Android于JNI调用列出的程序

    1.安装和下载cygwin,下载Android NDK: 2.于ndk工程JNI接口设计: 3.采用C/C++实现本地方法. 4.JNI生成动态链接库.so档: 5.动态链接库副本javaprojec ...

  2. 于windows建筑物Cocos2d-x win32开发环境

     这份文件是从cocos2d-x复制的官网.. . 在windows7上搭建COCOS2D-X开发环境并不难. 可是因为框架更新过快,非常多用户都有困难.我希望你们觉得这个教程实用. 建议:为了避 ...

  3. SQL 2008执行语句遇到内存不足(1)——error 701

    原文:SQL 2008执行语句遇到内存不足(1)--error 701 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/01/17/sql-2008-e ...

  4. 用Ghostscript API将PDF格式转换为图像格式(C#)

    原文:用Ghostscript API将PDF格式转换为图像格式(C#) 由于项目需要在.net下将pdf转换为普通图像格式,在网上搜了好久终于找到一个解决方案,于是采用拿来主义直接用.来源见代码中注 ...

  5. Spring AOP在pointcut expression解析表达式 并匹配多个条件

    Pointcut 方法是那些需要运行"AOP",由"Pointcut Expression"为了描述叙事. Pointcut以下方法可以通过定义任&&a ...

  6. JS数据绑定模板artTemplate试用

    之前写JS绑定数据曾经用过tmpl库,虽然功能比较强大但是感觉不是很轻量,对于相对简单的数据需求显得有些臃肿.而Ajax返回数据自己拼接html的方式又显得不够高端,因此今天看了一篇介绍artTemp ...

  7. CodeForces 28D Don&#39;t fear, DravDe is kind dp

    主题链接:点击打开链接 为了让球队后,删除是合法的.也就是说,对于每一个车辆, l+r+c 一样,按l+r+c分类. 然后dp一下. #include <cstdio> #include ...

  8. requestWindowFeature()应用

    我们在开发程序是常常会须要软件全屏显示.自己定义标题(使用button等控件)和其它的需求,今天这一讲就是怎样控制Android应用程序的窗口显示. 首先介绍一个重要方法那就是requestWindo ...

  9. shell文字过滤程序(十一):paste命令

    [版权声明:转载请保留源:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com] 由于可以从字面上可以看出.paste指挥和cut相反的命令.cut ...

  10. HDU 3117 Fibonacci Numbers(围绕四个租赁斐波那契,通过计++乘坐高速动力矩阵)

    HDU 3117 Fibonacci Numbers(斐波那契前后四位,打表+取对+矩阵高速幂) ACM 题目地址:HDU 3117 Fibonacci Numbers 题意:  求第n个斐波那契数的 ...