You should use DateUtils.PeriodBetween to calculate difference between dates. All other code is wrong.
You don't need to change the time zone though it will not cause any problems to change it. It only affects the current process.
You can use this code to strip the time:
Dim today As Long = DateTime.DateParse(DateTime.Date(DateTime.Now))