0

我在数据库中存储了小时和分钟的时间值。我想用它们来创建一个时期;“开始时间”和“结束时间”。两个时间都有相同的日期,但不同的小时和分钟。这是我现在用来将开始时间属性复制到结束时间的代码。

Dim endTime As New DateTime(startTime.Year, startTime.Month, startTime.Day, endHour, endMinute, 0)

(endHour 和 endMinute 是结束时间的精确小时和分钟属性)

我只是想知道是否有比这更好的方法。

4

3 回答 3

1

这仅获取年、月和日,startTime其余部分为默认值:

Dim endTime As Date = startTime.Date

然后你可以按照你想要的方式添加你需要的其余值,例如:

endTime = endTime.AddHours(endHour)
endTime = endTime.AddMinutes(endMinute)

MSDN 文档


在一行中,您可以执行以下操作:

Dim endTime As Date = startTime.Date.AddHours(endHour).AddMinutes(endMinute)

甚至:

Dim endTime As Date = startTime.Date.AddMinutes(endHour * 60 + endMinute)

但是你的方法也很好,强硬。

于 2013-03-26T09:48:35.053 回答
1

为什么你不使用:

DateTime.AddHours 方法

DateTime.AddMinutes 方法

获得“结束日期时间”

于 2013-03-26T09:48:49.923 回答
0
Dim endTime As Date = startTime.Date.AddHours(endHour).AddMinutes(endMinute)

我不确定它是否更具可读性或以任何其他方式更好,但也许你会发现它更好。

于 2013-03-26T09:49:22.920 回答