簡體   English   中英

每年在特定日期和月份觸發警報

[英]Trigger alarm every year on certain day and month

我想創建某種程序來提醒我某個日期(例如等等)

如果IsDate(12/6/2014)然后

msgbox(“今天是你的生日”)

萬一

因此有可能每年編寫某種代碼而無需編寫10-20行代碼..(像這樣)

如果IsDate(12/6/2015)然后

如果IsDate(12/6/2016)然后

如果IsDate(12/6/2017)然后

因此,同一天和月份但不同的年份:D

Date具有當日和當月的屬性。 您可以將“警報日期”的.Day.Month屬性與當前日期進行比較,以查看是否應觸發該日期。

MSDN上的文檔提供了更多信息。 http://msdn.microsoft.com/zh-CN/library/system.datetime.date(v=vs.110).aspx

例:

    Dim alarmDate As Date = #3/11/2010#
    Dim currentDate As Date = Date.Now
    If alarmDate.Day = currentDate.Day AndAlso alarmDate.Month = currentDate.Month Then
        'Do Something here
    End If

您還可以使用擴展方法將整個過程提升到一個新的水平(這可能超出了您當前的應用程序需求):

Imports System.Runtime.CompilerServices

Module ExtensionMethods
    <Extension>
    Public Function IsSameMonthAndDayAs(d1 As Date, d2 As Date) As Boolean
        Return d1.Day = d2.Day AndAlso d1.Month = d2.Month
    End Function
End Module

例:

    Dim d As Date = #1/11/2010#
    If Date.Now.IsSameMonthAndDayAs(d) Then
        'Do something here
    End If

如果要將其轉為功能性應用程序,則可以制作一個新表格,在上面放置一個Timer組件,並將其間隔設置為86400000(一天中的毫秒數)。 啟用計時器並將我的代碼放入Tick事件中。 計時器每天會觸發一次,並比較兩個日期。 注意這不是最好的(甚至是非常好的)方法。 這只是如何使用它的一個示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM