java中计算明年今天的日期_计算今天之后的下一个周年日

计算某人下一个生日周年纪念日最快/最整洁的方法是什么?

例如,如果我知道一个人出生于1990年1月31日,而今天是2000年2月10日,他们的下一个周年纪念日将是2001年1月31日。

2月29日至3月1日(如1990年2月29日出生,1991年3月1日为他们的第一个生日)。

编辑:哇-我以为这会更微不足道。我真的以为会有一些我可以使用的库函数。总之,多亏了你们,我得到了我想要的

认为

这是一个有效的解决方案,解决了2月29日所有愚蠢的问题。不过不是很漂亮:-(

Function NextBirthDay2(ByVal dStartDate As Date, ByVal dNow As Date) As Date

Dim oDate As Date

Dim bFeb29thHack As Boolean = dStartDate.Month = 2 And dStartDate.Day = 29

If bFeb29thHack Then

oDate = New Date(dNow.Year, 3, 1)

Else

oDate = New Date(dNow.Year, dStartDate.Month, dStartDate.Day)

End If

If (oDate <= dNow) Then

oDate = oDate.AddYears(1)

End If

If Date.IsLeapYear(oDate.Year) And bFeb29thHack Then

oDate = oDate.AddDays(-1)

End If

Return oDate

End Function

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值