以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  怎么实现按农历日期计算啊?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53767)

--  作者:洗衣粉
--  发布时间:2014/7/15 9:40:00
--  怎么实现按农历日期计算啊?
Dim n As Integer = 6 \'未来天数,含今天,所以实际是未来7天
Dim dat As Date = Date.Today
Dim dt As Date = e.Row("生日")


Dim dt1 As New Date(Date.Today.Year,dt.Month,dt.Day)

Dim dt2 As  New Date(Date.Today.AddDays(n).Year,dt.Month,dt.Day)

If e.Row("农历阴历") = False Then
图片点击可在新窗口打开查看此主题相关图片如下:360截图20140715093308734.jpg
图片点击可在新窗口打开查看
    If (dt1 > Date.Today AndAlso dt1 < Date.Today.AddDays(n)) OrElse (dt2 > Date.Today AndAlso  dt2 < Date.Today.AddDays(n)) Then
        e.style = "生日将至"
    ElseIf dt = dat Then
        e.style = "今天生日"
    End If
End If


各位,怎么实现按农历日期计算啊?
如图,我想实现当生日是按农历过的时候用农历计算,生日按阳历过的时候按阳历计算,上面代码只能实现阳历的计算?

--  作者:洗衣粉
--  发布时间:2014/7/15 9:41:00
--  
Dim n As Integer = 6 \'未来天数,含今天,所以实际是未来7天
Dim dat As Date = Date.Today
Dim dt As Date = e.Row("生日")


Dim dt1 As New Date(Date.Today.Year,dt.Month,dt.Day)

Dim dt2 As  New Date(Date.Today.AddDays(n).Year,dt.Month,dt.Day)

If e.Row("农历阴历") = False Then
    If (dt1 > Date.Today AndAlso dt1 < Date.Today.AddDays(n)) OrElse (dt2 > Date.Today AndAlso  dt2 < Date.Today.AddDays(n)) Then
        e.style = "生日将至"
    ElseIf dt = dat Then
        e.style = "今天生日"
    End If
End If


--  作者:有点甜
--  发布时间:2014/7/15 9:41:00
--  
  例子发上来。
--  作者:洗衣粉
--  发布时间:2014/7/15 9:54:00
--  


--  作者:有点甜
--  发布时间:2014/7/15 9:55:00
--  
例子发上来
--  作者:Bin
--  发布时间:2014/7/15 9:56:00
--  
参考 http://www.foxtable.com/help/topics/1274.htm

搞不定,上例子.

--  作者:洗衣粉
--  发布时间:2014/7/15 9:56:00
--  
没有传上来吗?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生日备忘.zip

[此贴子已经被作者于2014-7-15 9:58:11编辑过]

--  作者:洗衣粉
--  发布时间:2014/7/15 9:58:00
--  
例子看了看了很多遍了,写了代码之后还是有问题
--  作者:有点甜
--  发布时间:2014/7/15 9:59:00
--  

 

[此贴子已经被作者于2014-7-15 10:06:05编辑过]

--  作者:有点甜
--  发布时间:2014/7/15 10:06:00
--  

错了

 

Dim n As Integer = 6 \'未来天数,含今天,所以实际是未来7天
Dim dat As Date = Date.Today

Dim dt As Date
If e.Row("农历阳历") = False Then
    dt = e.Row("生日")
Else If e.Row("农历阳历") = True Then
    dt = e.Row("生日")
    Dim ln As New Lunar(dt.Year, dt.Month, dt.Day, False)
    dt = ln.SolarDate
End If

Dim dt1 As New Date(Date.Today.Year,dt.Month,dt.Day)
Dim dt2 As  New Date(Date.Today.AddDays(n).Year,dt.Month,dt.Day)
If (dt1 > Date.Today AndAlso dt1 < Date.Today.AddDays(n)) OrElse (dt2 > Date.Today AndAlso  dt2 < Date.Today.AddDays(n)) Then
    e.style = "生日将至"
ElseIf dt = dat Then
    e.style = "今天生日"
End If