vb.net - 最近几点了?
问题描述
好吧,伙计们,我有(美食时代)的项目好吗?我有 5 次吃饭
(早上,中午,日落,晚上,午夜)
- 上午 : 03:20 AM
- 中午 : 12:05 PM
- 日落 : 03:46 PM
- 晚上 : 07:33 PM
- 午夜 : 08:28 PM
现在我需要放置计时器来检查它是否将当前时间与数组时间匹配如果他发现数组的任何时间与 PC 的当前时间相匹配,他会显示一条消息
我其实很努力,写了代码
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Dim TimesArray() As String = {"03:20 AM", "12:05 PM", "03:46 PM", "07:33 PM", "08:28 PM"}
Dim NamesArray() As String = {"Morning", "Midday", "Sunset", "Night", "Midnight"}
Dim time = DateTime.Now.TimeOfDay
Dim q = TimesArray.Select(Function(t, i) New With {.Time = DateTime.Parse(t).TimeOfDay, .I = i}).Select(Function(d) New With {d.Time, .Diff = If(d.Time >= time, d.Time - time, New TimeSpan(24, 0, 0) + d.Time - time), d.I})
Dim m = q.Min(Function(d) d.Diff)
Dim r = q.First(Function(d) d.Diff = m)
MsgBox("Food" & " " & NamesArray(r.I) & " " & "After" & " " & r.Diff.Hours & " " & "Hour" & " " & "and" & " " & r.Diff.Minutes & " " & "Minutes.")
End Sub
它可以 100% 工作,但由于Select 功能需要System.Linq.dll在.Net Fremwork 3.5 这就是为什么我想要一些不需要这个功能(Select)并且不需要System.Linq.dll在.Net fremwork 3.5
解决方案
这应该是你想要的。在每个计时器滴答声中,子遍历您的数组并根据数组检查当前时间,并且时差小于 0 小时和 0 分钟,显示消息框。
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Dim TimesArray() As String = {"03:20 AM", "12:05 PM", "03:46 PM", "07:33 PM", "08:28 PM"}
Dim NamesArray() As String = {"Morning", "Midday", "Sunset", "Night", "Midnight"}
For i As Integer = 0 To TimesArray.Count - 1
Dim tempDateTime As Date = Date.Parse(TimesArray(i))
Dim tempTimeDiff As TimeSpan = tempDateTime.Subtract(DateTime.Now)
If tempTimeDiff.Hours = 0 And tempTimeDiff.Minutes = 0 Then
MessageBox.Show("Food " & NamesArray(i) & " After " & tempDateTime.Hour & " and " & tempDateTime.Minute & " Minutes.")
End If
Next
End Sub
推荐阅读
- excel - 为什么 Excel VBA 只接受此数组公式中的相对 R1C1 引用?
- r - 带有字符串的for循环
- firebase - Flutter 和 google_sign_in 插件:PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null)
- python - Kivy - 试图将 firebase 与我的 kivy 应用程序集成?json错误
- mongodb - MongoDB在文档数组中查找所有字典
- git - 如何限制来自另一个 ip 的 bitbucket 访问
- java - 内容解析器在来自公共 void onActivityResult 的片段内变为红色
- jquery - 存储按钮响应
- c - C 编程调用 FILE *变量
- terraform - 模块对资源的依赖导致 Terraform 破坏错误