千家信息网

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

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容介绍了"ASP.NET显示农历时间的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!取农历
千家信息网最后更新 2026年11月01日ASP.NET显示农历时间的方法

本篇内容介绍了"ASP.NET显示农历时间的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

取农历时间的类

代码如下:

public class CountryDate
{
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[] { "正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二" };

///


/// 获取一个公历日期对应的完整的农历日期
///

/// 一个公历日期
/// 农历日期
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;
}
///
/// 获取一个公历日期的农历干支纪年
///

/// 一个公历日期
/// 农历干支纪年
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;
}

///
/// 获取一个公历日期的农历年份
///

/// 一个公历日期
/// 农历年份
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();
}

///
/// 获取一个公历日期的农历月份
///

/// 一个公历日期
/// 农历月份
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];
}

///
/// 获取一个公历日期的农历日
///

/// 一个公历日期
/// 农历日
public string GetDay(DateTime time)
{
return ChineseDayName[calendar.GetDayOfMonth(time) - 1];
}
}

需要的using

复制代码 代码如下:

using System;
using System.Collections.Generic;
using System.Web;
using System.Text;
using System.Globalization;


调用:

复制代码 代码如下:

CountryDate cd = new CountryDate();
string ChineseTimeNow = cd.GetChineseDate(DateTime.Now);//农历日期
string ForignTimeNow = DateTime.Now.GetDateTimeFormats('D')[0].ToString();//公历日期

下面有一个测试的效果:

前台代码:

复制代码 代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestCountryDate._Default" %>
























后台代码:

复制代码 代码如下:

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{
CountryDate cd = new CountryDate();
string ChineseTimeNow = cd.GetChineseDate(DateTime.Now);//农历日期
string ForignTimeNow = DateTime.Now.GetDateTimeFormats('D')[0].ToString();//公历日期

lblCountryDate.Text = ChineseTimeNow;
lblForignDate.Text = ForignTimeNow;
}
}

运行效果如下图所示:

主要取时间就是这个CountryDate类,调用取时间即可。

"ASP.NET显示农历时间的方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

日期 农历 公历 代码 时间 方法 内容 干支 年份 效果 更多 月份 知识 闰月 实用 子丑寅卯 学有所成 接下来 前台 后台 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 精品咖啡豆 互联网科技工作委员会毛军 金诺互联网科技 科技互联网技术 互联网金融 科技 互联网科技排名 润盈互联网科技 苏州大垚互联网科技 联恩商钥互联网科技有限公司 中国最先进互联网科技公司 互联网和高科技公司 中盈科技互联网信息有限公司 栖莱科技互联网股份有限公司 洛阳昕诺飞互联网科技有限公司 链环科技传统企业怎么转型互联网 卓翼科技产业互联网合作 山东子淼互联网科技有限公司 互联网企业科技类企业如何做账 广西泛欧互联网科技有限公司 银川新华互联网科技学校招聘 互联网金融与金融科技 互联网科技金融公司 卓越科技(互联网 ) 深圳齐家互联网科技 天下捷融互联网科技 深圳期待互联网科技 亿人帮互联网科技 太原新华互联网科技学校怎么样 特约风豹互联网科技为什么扣费 互联网科技公司营业执照怎么办理
0