Vb.net 宣布时间的正确方式(上午6:00:00)

Vb.net 宣布时间的正确方式(上午6:00:00),vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,我一直在试图找到方法来声明一个带有时间格式的变量。我发现的所有结果都只教我们如何只在日期变量中存储日期 实际目标: 获取今天上午6:00:00的日期,并将其设置为今天下午1:59:59的日期 确定公司工作时间间隔的第一班 谢谢。你的问题不是100%清楚,但试着用一些可能对你有帮助的例子来回答它: 'get todays date with 6AM time Dim sixAmToday As DateTime = New DateTime(DateTime.Now.Year,

我一直在试图找到方法来声明一个带有时间格式的变量。我发现的所有结果都只教我们如何只在日期变量中存储日期

实际目标: 获取今天上午6:00:00的日期,并将其设置为今天下午1:59:59的日期

  • 确定公司工作时间间隔的第一班

谢谢。

你的问题不是100%清楚,但试着用一些可能对你有帮助的例子来回答它:

    'get todays date with 6AM time
    Dim sixAmToday As DateTime = New DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 6, 0, 0)

    'get todays date with 1:59 PM
    Dim oneFiftyNineToday As DateTime = New DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 13, 59, 59)

    'get the timespan between the two dates
    Dim ts As TimeSpan = oneFiftyNineToday - sixAmToday

    Debug.WriteLine(ts.ToString) 'outputs 07:59:59

这只是另一种方法。在相同的24小时内使用军事时间可以更容易地减去同一天的时间。如果需要从下一个或上一个时段中减去时间,请使用timespan或datediff,并将日期与时间一起包括在内。选择“h”或小时作为返回值

Dim timeString As New StringBuilder
Dim beginOfShift As DateTime = CDate("06:00")
Dim endOfShit As DateTime = CDate("13:59:59")

Dim beginOfShiftToShow As String = beginOfShift.ToShortTimeString
Dim endOfShiftToShow As String = endOfShit.ToShortTimeString
Dim resultOfShiftDiff As TimeSpan = endOfShit.Subtract(beginOfShift)

timeString.AppendFormat("{0} {1}", "Number of Hours in this shift:", resultOfShiftDiff.ToString)

MsgBox(timeString.ToString)

Dim AsDateTime As DateTime=#6:00:00 AM#不将其读取为实际时间。DateTime所做的只是将日期和时间存储为数字。如果您只想存储时间(或日期),那么只需忽略日期(或时间)元素。这不是你的问题所说的:“以上午6:00:00获得今天的日期”@格里姆有一种可能的方法。日期时间是一个时间点。它不可能有射程。马特的回答将给你两个日期,创造了这个范围。另一种方法是定义StartTime(早上6点)和时间跨度7:59米。然后添加它们以获取EndDateTime。