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. jstack:将Process Explorer中看到的进程ID做16进制转换,到ThreadDump中加上0x 前缀即能找到对应线程(转)

    原文链接:http://www.iteye.com/topic/1133941 症状: 使用Eclipse win 64位版本,indigo及kepler都重现了,使用tomcat 6.0.39,jd ...

  2. Visual Studio 2015使用EF6的ModelFirst模式添加实体数据模型缺少tt文件问题

    在看实体框架 (EF) 入门的时候,当按照样例做到ModelFirst的时候出问题了 这是使用vs2015新建的实体数据模型 这是官网样例 对比样例截图,会发现里面缺少.tt的文件.最重要的是最终代码 ...

  3. MAC OSX 进程间通信

    Mac OS在下面IPC方式很多类型,大约如下. 1. Mach API  2. CFMessagePort  3. Distributed Objects (DO) NSDistributedNot ...

  4. Android4.4 蓝牙源代码段分析

    最近GOOGLE发布时间Android4.4,我看了看源代码.4.4蓝牙打开过程或这部分的一些变化,判断蓝牙开关是从接口设置settings在里面switch开关,widget当然,它可以切换,也许启 ...

  5. hibernate set的3属性

    inverse 属性 在hibernate通过对 inverse 和表之间的关系. inverse = false 的为主动方,inverse = true 的为被动方, 由主动方负责维护关联关系 在 ...

  6. 省前训练...Orz

    A. 异形卵 Time Limit: 1000ms Memory Limit: 128000KB 64-bit integer IO format:      Java class name: Sub ...

  7. hdu 4542 数论 + 约数个数相关 腾讯编程马拉松复赛

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=4542 小明系列故事--未知剩余系 Time Limit: 500/200 MS (Java/Others) ...

  8. SQL Prompt——SQL智能提示插件

    数据库是大家在项目开发中肯定会用到的,C#项目用的最多的就是微软自家的SQL Server了.不可否认,微软的Visual Studio开发平台很好用,很直观的体现就是智能提示.敲几个字符,相关的信息 ...

  9. crawler_爬虫开发的曲线图

    个人总结爬虫的学习曲线,可分为三个阶段, 一. 主要在填充基础知识,要熟悉http协议,学习正则表达式,首先基于jdk的基础包的网络功能,.net包下的  httpurlconnction 从细节上简 ...

  10. sql server中的索引详情

    什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的速度,汉语字(词)典一般都有按拼音. ...