VB计算农历的算法[2]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 thinkeasy 的 blog

    dalist(1965) = "010100100110000202"
    dalist(1966) = "111010010011030121"
    dalist(1967) = "110110010101000209"
    dalist(1968) = "010110101010170130"
    dalist(1969) = "010101101010000217"
    dalist(1970) = "100101101101000206"
    dalist(1971) = "010010101110150127"
    dalist(1972) = "010010101101000215"
    dalist(1973) = "101001001101000203"
    dalist(1974) = "110100100110140123"
    dalist(1975) = "110100100101000211"
    dalist(1976) = "110101010010180131"
    dalist(1977) = "101101010100000218"
    dalist(1978) = "101101101010000207"
    dalist(1979) = "100101101101060128"
    dalist(1980) = "100101011011000216"
    dalist(1981) = "010010011011000205"
    dalist(1982) = "101001001011140125"
    dalist(1983) = "101001001011000213"
    dalist(1984) = "1011001001011a0202"
    dalist(1985) = "011010100101000220"
    dalist(1986) = "011011010100000209"
    dalist(1987) = "101011011010060129"
    dalist(1988) = "101010110110000217"
    dalist(1989) = "100100110111000206"
    dalist(1990) = "010010010111150127"
    dalist(1991) = "010010010111000215"
    dalist(1992) = "011001001011000204"
    dalist(1993) = "011010100101030123"
    dalist(1994) = "111010100101000210"
    dalist(1995) = "011010110010180131"
    dalist(1996) = "010110101100000219"
    dalist(1997) = "101010110110000207"
    dalist(1998) = "100100110110150128"
    dalist(1999) = "100100101110000216"
    dalist(2000) = "110010010110000205"
    dalist(2001) = "110101001010140124"
    dalist(2002) = "110101001010000212"
    dalist(2003) = "110110100101000201"
    dalist(2004) = "010110101010120122"
    dalist(2005) = "010101101010000209"
    dalist(2006) = "101010101101170129"
    dalist(2007) = "001001011101000218"
    dalist(2008) = "100100101101000207"
    dalist(2009) = "110010010101150126"
    dalist(2010) = "101010010101000214"
    dalist(2011) = "101101001010000214"
    addyear = tyear
    runyue = false
   
    if isgetgl then
        addmonth = val(mid(dalist(addyear), 15, 2))
        addday = val(mid(dalist(addyear), 17, 2))
        condate = dateserial(addyear, addmonth, addday)
        addday = tday
        for i = 1 to tmonth - 1
            addday = addday + 29 + val(mid(dalist(tyear), i, 1))
        next i
        'msgbox datediff("d", condate, date)
        setdate = dateadd("d", addday - 1, condate)
        getyldate = setdate
        tyear = year(setdate)
        tmonth = month(setdate)
        tday = day(setdate)
        exit function
    end if
chushihua:
    addmonth = val(mid(dalist(addyear), 15, 2))
    addday = val(mid(dalist(addyear), 17, 2))
    condate = dateserial(addyear, addmonth, addday)
    setdate = dateserial(tyear, tmonth, tday)
    getday = datediff("d", condate, setdate)
    if getday < 0 then addyear = addyear - 1: goto chushihua
   ' addday = nearday
   addday = 1: addmonth = 1
    for i = 1 to getday
        addday = addday + 1
        if addday = 30 + mid(dalist(addyear), addmonth, 1) or (runyue and addday = 30 + mid(dalist(addyear), 13, 1)) then
            if runyue = false and addmonth = val("&h" & mid(dalist(addyear), 14, 1)) then

本文关键:VB计算农历的算
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top