Yes, apparently the diffInDays function works different than I had expected. It should be a positive whole number. It being a floating point is just me not paying attention to the docs, but it being a negative number when applied to a date in the future makes no sense to me.