vb.net .addhours不更改日期时间变量

时间:2017-08-19 21:22:08

标签: vb.net

我的代码无法更改WALRT。

    dim WALRT as datetime = latest_weight_average_request_time
dim days_latest_weight_factor = 0.5
dim WALRT_new_hour = WALRT.hour * ( 1 - days_latest_weight_factor) +    last_request_time.hour *  days_latest_weight_factor
WALRT.AddHours( WALRT_new_hour - WALRT.hour  )

WALRT.AddHours( 4 )

2 个答案:

答案 0 :(得分:1)

AddHours返回一个新的DateTime,加上小时数 它没有直接修改提供的变量

WALRT = WALRT.AddHours(WALRT_new_hour - WALRT.hour).AddHours(4)

但是你的代码非常奇怪,因为你只需要在初始值上加4小时就可以删除中间的所有行。

例如,假设 latest_weight_average_request_time 的Hour属性值为10。

您的代码为 WALRT 分配了相同的值,因此计算 WALRT_new_hour 值的行就像这样

dim WALRT_new_hour = 10 * ( 1 - 0.5) + 10 * 0.5 ' => equals to 10

和以下行(修复后)是

WALRT = WALRT.AddHours(10 - 10) ' ??

所以最后一行只是将4小时加到初始值

WALRT = WALRT.AddHours(4)

答案 1 :(得分:0)

DateTime.AddHours返回一个新的DateTime对象。所以你需要写例如

WALRT = WALRT.AddHours(4)