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程序设计有所帮助。

(0)

相关推荐

  • asp.net中页面显示当前系统时间附图

    复制代码 代码如下: <p class="time">当前系统时间:<script type="text/javascript"> today = new Date(); function initArray() { this.length = initArray.arguments.length for (var i = 0; i < this.length; i++) this[i + 1] = initArray.argument

  • asp.net获取系统当前时间的方法详解

    本文实例讲述了asp.net获取系统当前时间的方法.分享给大家供大家参考,具体如下: 在c# / ASP.net中我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12:11:10)等. //获取日期+时间 DateTime.Now.ToString(); // 2008-9-4 20:02:10 DateTime.Now.ToLocalTime().

  • ASP.NET显示农历时间改进版

    本文实例讲述了ASP.NET显示农历时间的方法,是前面一篇文章源码的改进版.分享给大家供大家参考.具体如下: 前面有一篇取农历时间http://www.jb51.net/article/57481.htm,不过没有进行封装使用起来需要手动修改.本次进行简单封装一下,可以直接进行调用. 代码如下: 取农历时间的类 复制代码 代码如下: public class CountryDate  {       public string ChineseTimeNow = "";       pu

  • ASP.NET网站实时显示时间的方法

    本文实例讲述了ASP.NET网站实时显示时间的方法.分享给大家供大家参考.具体方法如下: 在ASP.NET环境中开发设计网站或网络应用程序时,往往需要实时显示当前日期和时间.这时,通常使用AJAX控件来实现. 需要注意的是,在.NET Framework 2.0版本中,工具箱中是没有AJAX Extensions控件的.而.NET Framework 3.5版本中集成了AJAX. ASP.NET AJAX包括三部分: ①一个扩展客户端JavaScript功能的客户端库或框架: ②一个允许ASP.

  • asp.net 实现动态显示当前时间(不用javascript不考虑开销)

    Default.aspx页面:先拉一个ScriptManager控件到页面,然后拉一个UpdatePanel控件.UpdatePanel里面放一个Label用于显示时间,放一个timer控件用于控制时间的更新.注意Label与Label都要放到UpdatePanel控件里面.最后,timer控件的Interval属性设置为1000,让它每1秒执行一次即更新时间. Default.aspx.cs页面:只需在 protected void Page_Load(object sender, Event

  • asp.net显示页面执行时间

    复制代码 代码如下: protected void Application_BeginRequest(Object sender, EventArgs e) { Application["StartTime"] = System.DateTime.Now; } protected void Application_EndRequest(Object sender, EventArgs e) { System.DateTime startTime = (System.DateTime)A

  • asp.net转出json格式客户端显示时间

    在服务器端利用 JavaScriptSerializer serializer = new JavaScriptSerializer(); return serializer.Serialize(obj); 对对像序列化, 对于时间类型得出结果为:\/Date(1216796600500)\/ 客户端解析的方式为: 复制代码 代码如下: function renderTime(data){ var da = eval('new ' + data.replace('/','','g').repla

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

    本文实例讲述了ASP.NET显示农历时间的方法.分享给大家供大家参考.具体实现方法如下: CS部分代码如下: 复制代码 代码如下: public string ChineseTimeNow = "";  public string ForignTimeNow = "";  private static ChineseLunisolarCalendar calendar = new ChineseLunisolarCalendar();  private static

  • js显示动态时间的方法详解

    本文实例讲述了js显示动态时间的方法.分享给大家供大家参考,具体如下: Date对象的方法 Date 对象能够使你获得相对于国际标准时间(格林威治标准时间,现在被称为 UTC-Universal Coordinated Time)或者是 Flash 播放器正运行的操作系统的时间和日期.要使用Date对象的方法,你就必须先创建一个Date对象的实体(Instance). Date 对象必须使用 Flash 5 或以后版本的播放器. Date 对象的方法并不是静态的,但是在使用时却可以应用于所指定的

  • js实时获取并显示当前时间的方法

    本文实例讲述了js实时获取并显示当前时间的方法.分享给大家供大家参考.具体实现方法如下: js部分如下: <script type="text/javascript"> window.onload = function() { var show = document.getElementById("show"); setInterval(function() { var time = new Date(); // 程序计时的月从0开始取值后+1 var

  • JS简单获取及显示当前时间的方法

    本文实例讲述了JS简单获取及显示当前时间的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>当前时间</

  • JavaScript通过setTimeout实时显示当前时间的方法

    本文实例讲述了JavaScript通过setTimeout实时显示当前时间的方法.分享给大家供大家参考.具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml

  • javascript实时显示北京时间的方法

    本文实例讲述了javascript实时显示北京时间的方法.分享给大家供大家参考.具体如下: 该页面中实时显示北京时间,更改时区也可以作为显示世界时间,代码如下: 复制代码 代码如下: <script type="text/javascript"> Date.prototype.strftime = function(format){     var o = {       "M+" :  this.getMonth()+1,  //month      

  • Java图片中显示当前时间的方法 原创

    Graphics2d 类提供了 drawString() 方法,实用该方法可以实现图形上下文的文本绘制,从而实现在图片上显示文字的功能.下面我们来看看其具体用法 语法如下: drawString(String str,int x,int y); 或 drawString(String str,float x, float y); str:要绘制的文本字符串: x:绘制字符串的水平起始位置: y绘制字符串的垂直起始位置. 此两种方法唯一的不同点就是使用的 x 和 y 参数的类型不同.   实例1:

  • C#窗体显示留言时间的方法

    本文实例讲述了C#窗体显示留言时间的方法.分享给大家供大家参考.具体分析如下: 运行平台:Vs2012 主要实现例如空间发表说说时间的显示,如:某人在10秒前回复了你这种效果 可用在Web浏览器,窗体,等... 复制代码 代码如下: namespace test {     class Program     {         static void Main(string[] args)         {             DateTime now = DateTime.Now;  

  • 详解js实时获取并显示当前时间的方法

    本文实例为大家分享了js实时获取并显示当前时间l的具体代码,供大家参考,具体内容如下 js部分如下: <script type="text/javascript"> window.onload = function() { var show = document.getElementById("show"); setInterval(function() { var time = new Date(); // 程序计时的月从0开始取值后+1 var m

随机推荐