首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在vb.net中每两周创建一次任务提醒

如何在vb.net中每两周创建一次任务提醒
EN

Stack Overflow用户
提问于 2013-09-01 12:19:22
回答 1查看 1.7K关注 0票数 0

我希望从数据库中已经输入的日期开始,每两周创建一次任务提醒(用户将其添加到数据库中的开始日期点)。根据一周中白天的情况,我试了一试,但没有结果,如果有人有什么想法,我会很感激的。

代码语言:javascript
复制
cmd5.CommandText = "select * from task where frequence='2W' "
    da5.SelectCommand = cmd1
    da5.Fill(ds5, "0")
    DataGridView6.Columns.Add("fr", "fr")
    DataGridView6.Columns.Add("class", "class")

    For i As Integer = 0 To ds5.Tables(0).Rows.Count - 1
        If Date.Now.DayOfWeek > 3 Then
            If CType(ds5.Tables(0).Rows(i).Item(3), Date).DayOfWeek = Date.Now.DayOfWeek Or CType(ds5.Tables(0).Rows(i).Item(3), Date).DayOfWeek - ???? = Date.Now.DayOfWeek Then
                DataGridView6.Rows.Add(ds5.Tables(0).Rows(i).Item(4), CType(ds5.Tables(0).Rows(i).Item(3), Date).DayOfWeek)
            End If
        End If
        If Date.Now.DayOfWeek < 4 And Date.Now.DayOfWeek <> 0 Then
            If CType(ds5.Tables(0).Rows(i).Item(3), Date).DayOfWeek = Date.Now.DayOfWeek Or CType(ds5.Tables(0).Rows(i).Item(3), Date).DayOfWeek + ???? = Date.Now.DayOfWeek Then
                DataGridView6.Rows.Add(ds5.Tables(0).Rows(i).Item(4), CType(ds5.Tables(0).Rows(i).Item(3), Date).DayOfWeek)
            End If
        End If
    Next

“?”我不知道怎样才能得到正确的结果!有人能帮帮我吗!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-01 15:08:44

正如我从您的评论中了解到的,您只对区间分析部分感兴趣,即确定今天的日期是否在数据库中定义的给定条件之前/之后(使用start_datefrequency)。这里有一个示例代码来处理这个问题:

代码语言:javascript
复制
Dim start_date As Date = Now.AddDays(-14) 'start_date value to be taken from the DB
Dim frequency As TimeSpan = TimeSpan.FromDays(14) 'Number of days as a function of the given frequency in your DB; this is for 2W.
Dim elapsedDays As TimeSpan = Now.Subtract(start_date)

If (elapsedDays >= frequency) Then
    'NOTIFY USER -> it has passed, at least, "frequency" number of days from "start_date"
    If (elapsedDays > frequency) Then
        Dim addDays As Integer = elapsedDays.Subtract(frequency).Days
        Dim dateWhenTargetMet As Date = Now.AddDays(-addDays)
        'Tell user that the target was met "addDays" ago, on "dateWhenTargetMet" 
    End If
End If

上面的代码检查当前日期是否等于(或晚于) start_date + frequency天数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18558375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档