VB.NET的阳历与农历转换的算法

'下面是一个关于VB的农历算法

    '日期数据定义方法如下

    '前12个字节代表1-12月为大月或是小月,1为大月30天,0为小月29天;

    '第13位为闰月的情况,1为大月30天,0为小月29天;

    '第14位为闰月的月份,如果不是闰月为0,否则给出月份,10、11、12分别用A、B、C来表示,即使用16进制;

    '最后4位为当年家农历新年-即农历1月1日所在公历的日期,如0131代表1月31日。

    Function GetChgDate(ByVal vDate As String, ByVal ChgType As 转换方式) As String

        Dim vvdate() As String = Split(vDate, "-")

 

        If vvdate(0) > 2011 Or vvdate(0) < 1900 Then

            Throw New NotSupportedException("本函数只提供1900年至2011年的日历转换!")

        End If

 

        Dim AddMonth, AddDay, AddYear, getDay, i As Integer

        Dim RunYue As Boolean

        Dim conDate As DateTime

 

        Dim daList(2011) As String

        daList(1900) = "010010110110180131"

        daList(1901) = "010010101110000219"

        daList(1902) = "101001010111000208"

        daList(1903) = "010100100110150129"

        daList(1904) = "110100100110000216"

        daList(1905) = "110110010101000204"

        daList(1906) = "011010101010140125"

        daList(1907) = "010101101010000213"

        daList(1908) = "100110101101000202"

        daList(1909) = "010010101110120122"

        daList(1910) = "010010101110000210"

        daList(1911) = "101001001101160130"

        daList(1912) = "101001001101000218"

        daList(1913) = "110100100101000206"

        daList(1914) = "110101010100150126"

        daList(1915) = "101101010101000214"

        daList(1916) = "010101101010000204" <

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值