Updates to match new primary repo.
This commit is contained in:
28
timer.go
28
timer.go
@@ -1,23 +1,25 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"math"
|
||||
"time"
|
||||
)
|
||||
|
||||
func LoadTime() time.Time {
|
||||
/*
|
||||
totally punked from stackoverflow
|
||||
https://stackoverflow.com/questions/31327124/how-to-calculate-number-of-business-days-in-golang/51607001#51607001
|
||||
*/
|
||||
func GetWeekDaysUntil(target time.Time) int {
|
||||
start := time.Now()
|
||||
offset := -int(start.Weekday())
|
||||
start.AddDate(0, 0, offset)
|
||||
|
||||
data, err := os.ReadFile(GetDeadlineResourcePath())
|
||||
if err != nil {
|
||||
data = make([]byte, 1)
|
||||
data[0] = 0
|
||||
offset += int(target.Weekday())
|
||||
if target.Weekday() == time.Sunday {
|
||||
offset++
|
||||
}
|
||||
|
||||
deadline, err := time.Parse(time.RFC3339, string(data))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
return deadline
|
||||
diff := target.Sub(start).Truncate(time.Hour * 24)
|
||||
weeks := float64(diff.Hours()/24) / 7
|
||||
return int(math.Round(weeks)*5) + offset - 1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user