C# 阳历转农历

你妹的sb 原文 C#(ASP.NET)公历转农历的简单方法

Dot Net 平台,对全球化的支持做的非常好,不得不称赞一个

通常,将公历转为农历,是个非常烦的事情,需要整理闰年、闰月等的对照表。

在.Net平台上,有了国际化的支持,这些东西,都已经提供了 ,我们需要做的,只是利用一下而已。

话不多说,直接上代码:

/// <summary>
/// 公历转为农历的函数
/// </summary>
/// <remarks>作者:DeltaCat</remarks>
/// <example>网址:http://www.zu14.cn</example>
/// <param name="solarDateTime">公历日期</param>
/// <returns>农历的日期</returns>
static string SolarToChineseLunisolarDate(DateTime solarDateTime)
{
    System.Globalization.ChineseLunisolarCalendar cal = new System.Globalization.ChineseLunisolarCalendar();

    int year = cal.GetYear(solarDateTime);
    int month = cal.GetMonth(solarDateTime);
    int day = cal.GetDayOfMonth(solarDateTime);
    int leapMonth = cal.GetLeapMonth(year);
    return string.Format("农历{0}{1}({2})年{3}{4}月{5}{6}"
                        , "甲乙丙丁戊己庚辛壬癸"[(year - 4) % 10]
                        , "子丑寅卯辰巳午未申酉戌亥"[(year - 4) % 12]
                        , "鼠牛虎兔龙蛇马羊猴鸡狗猪"[(year - 4) % 12]
                        , month == leapMonth ? "闰" : ""
                        , "无正二三四五六七八九十冬腊"[leapMonth > 0 && leapMonth <= month ? month - 1 : month]
                        , "初十廿三"[day / 10]
                        , "日一二三四五六七八九"[day % 10]
                        );
}

使用的方法非常简单:

string 农历 = SolarToChineseLunisolarDate(DateTime.Today);

时间: 2024-10-10 04:38:56

C# 阳历转农历的相关文章

Linux-shell实现阳历转农历(序)

好些天没有登陆邮箱,前几天上班打开一看垃圾箱中有一封邮件让我好激动,还是国外友人的英文邮件.^_^大概内容是我早些时候写的一个阳历转农历的shell小程序,他在用的时候发现了bug,但是这个bug我在去年年底就修改了.而且,他给了此程序的具体出处,但并不是我发布此程序的地址,显然是XX拷贝过去的(管它XX是人还是机器),庆幸的是我在程序的log文件中加入了我的邮箱地址,此友人才能找到我.废话少说,入正题. 1缘由 本脚本实现原理是查表法(因为公式有误差):基于农历新年为基准,对农历新年前后两个不

python阳历转农历

# 引入日历库模块 import sxtwl # 日历中文索引 ymc = ["十一", "腊", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十"] rmc = ["初一", "初二&quo

万年历程序例题(农历阴历转换)

万年历(农历阴历转换) package com.java; import java.util.Calendar; public class LunarCalendar { public static void main(String[] args) { Solar s = new Solar(); s.getDate(2020, 9); String t = MutualConversion.solarToLundar(2009, 10, 12); String[] str = t.split(

从.net源码中复制过来的中国农历数组,做万年历必备

const { 闰月的月份.春节的阳历日期(农历正月初一).农历的每个月天数 } c_arrLunarInfo: array [1900 .. 2100] of array [0 .. 15] of Integer = ( // 农历 1900-2100 (8, 1, 31, 29, 30, 29, 29, 30, 29, 30, 30, 29, 30, 30, 29, 30), // 1900 (0, 2, 19, 29, 30, 29, 29, 30, 29, 30, 29, 30, 30,

web测试常用的用例及知识

  1.      Web测试中关于登录的测试... 1 2.      搜索功能测试用例设计... 2 3.      翻页功能测试用例... 3 4.      输入框的测试... 5 5.      Web测试的常用的检查点... 6 6.      用户及权限管理功能常规测试方法... 8 7.      Web测试之兼容性测试... 9 8.      Web测试-sql注入... 10 9.      Web测试中书写用例时要考虑的检查点... 11 10.        手机电子邮

Web测试的常用测试用例与知识

1. Web测试中关于登录的测试 2. 搜索功能测试用例设计 3. 翻页功能测试用例 4. 输入框的测试 5. Web测试的常用的检查点 6. 用户及权限管理功能常规测试方法 7. Web测试之兼容性测试 8. Web测试-sql注入 9. Web测试中书写用例时要考虑的检查点 10. 手机电子邮件测试用例 11. 记事本与日历的测试用例 12. Web测试总结 13. 让web站点崩溃最常见的七大原因 14. Web应用程序是否存在跨站点脚本漏洞 15. Web测试总结(全) 16. 理解we

中秋月圆

弹指间,彷如十年前, 岁月歌声,躺流中秋.三十而立,而成家,而成事. 时间走到真的好快.转眼来到14年中秋,这仿佛是三十年前到轮回吧,阳历,农历非常最接近三十年前.而今年到中秋,今年的生日 也格外的意外,格外的来到一个新到开始. 新的开始.. 非常非常醒目的,特殊年龄.祝自己生日快乐,中秋快乐. 加油吧. 才开始的奋斗,才开始到岁月.. jking 2014.9.8 中秋 北京.fang

PHP日期操作类代码-农历-阳历转换、闰年、计算天数等

这是一个实用的PHP日期时间操作类,里面包括了公历-农历转换.转换成中文日期格式.计算农历相隔天数.根据阴历年获取生肖.获取阴历月份的天数.获取农历每年的天数.获取闰月.计算阴历日期与正月初一相隔的天数.计算2个公历(阳历)日期之间的天数.根据距离正月初一的天数计算阴历日期.获取天干地支纪年等,PHP日期操作类:Lunar.class.php代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

农历和阳历互转(c语言)

#include <stdio.h> #include <string.h> typedef struct _hjz{ int year; int month; int day; int reserved; } hjz; unsigned int lunar200y[199] = { 0x04AE53,0x0A5748,0x5526BD,0x0D2650,0x0D9544,0x46AAB9,0x056A4D,0x09AD42,0x24AEB6,0x04AE4A,/*1901-191