转:原文http://blog.csdn.net/zswang/article/details/4526503
公历转农历得使用农历闰年闰月对照表
好在.NET已经预备了这个对照表,我们不用再去声明,可以直接使用
Public Shared Function ChineseLunisolarDate(ADataTime As DateTime) As String
Dim clc = New System.Globalization.ChineseLunisolarCalendar()
Dim year = clc.GetYear(ADataTime)
Dim month = clc.GetMonth(ADataTime)
Dim day = clc.GetDayOfMonth(ADataTime)
Dim leapMonth = clc.GetLeapMonth(year)
Return String.Format("{0}{1} {2}年{3}{4}月{5}{6}", "甲乙丙丁戊己庚辛壬癸"((year - 4) Mod 10), "子丑寅卯辰巳午未申酉戌亥"((year - 4) Mod 12), "鼠牛虎兔龙蛇马羊猴鸡狗猪"((year - 4) Mod 12), If(month = leapMonth, "润", ""), "无正二三四五六七八九十冬腊"(If(leapMonth > 0 AndAlso leapMonth <= month, month - 1, month)), _
"初十廿三"(day \ 10), "日一二三四五六七八九"(day Mod 10))
End Function
浙公网安备 33010602011771号