In golang there is no direct way [ atleast i don't know ] to find count of differance in days between two days. So, I do it the way might every one does [ except who has already faced this ].
What I does is just find out duration differance of two dates using sub function.
differance := time.Now().Sub( startTime ) daysCount := int(differance.Hours() / 24.0)
It might seem ok. But, there is a problem with this solution.
Let assume, startTime is 2018-02-02 23:59:59.
In this case daysCount will be 0 on next day [ 2018-02-03 ] until time is 2018-02-03 23:59:59.
Simple solution is just normalize startTime to starting of that date.
normalizedTime := time.Date(startTime .Year(),startTime .Month(),startTime .Day(), 0, 0, 0, 0, time.Local) differance := time.Now().Sub( normalizedTime ) daysCount := int(differance.Hours() / 24.0)
normalizedTime is startTime but at starting of date.
So, Now we are substracting time from 2018-02-02 00:00:00 instead of 2018-02-02 23:59:59.